| 
                
                
                 
 
	
		| Precedente :: Successivo |  
		| Autore | Messaggio |  
		| zazza Comune mortale
 
  
 
 Registrato: 27/03/13 10:39
 Messaggi: 2
 
 
 | 
			
				|  Inviato: 27 Mar 2013 20:20    Oggetto: Macro da Word ad Excel |   |  
				| 
 |  
				| Ciao, sarebbe possibile implementare una macro per la copiatura di determinati paragrafi da un foglio Word ad Excel?
 
 Come vedete i paragrafi legati agli elementi dovrebbero essere copiati in determinate parti Excel..
 
 Ho un codice che potrebbe aiutare per quanto riguarda in particolare l'identificazione dell'area da copiare. Posso riportarlo se pensate aiuti ma andava bene per Excel! Non so se possa aiutare per word..
 
 Grazie!
 
 P.s.
 per uplodare?
 |  |  
		| Top |  |  
		|  |  
		| GrayWolf Dio maturo
 
  
  
 Registrato: 03/07/05 17:24
 Messaggi: 2325
 Residenza: ... come frontiera i confini del mondo...
 
 | 
			
				|  Inviato: 28 Mar 2013 02:10    Oggetto: |   |  
				| 
 |  
				| Occorre fare delle prove... 
 due ipotesi:
 .1 con codice vba:
 .1.1 creare un'istanza di excel nella macro di word,
 .1.2 catturare i paragrafi
 .1.3 posizionarli nelle celle con il codice exel
 
 .2 utilizzare un "ponte" in vbscript
 .2.1 creare un'istanza di word
 .2.2 creare un'istanza di excel
 .2.3 con l'istanza di word catturare i paragrafi
 .2.4 con l'istanza di excel alimentare le celle
 
 NOTA: word ed excel fanno riferimento a oggetti diversi
 
 ora ho poco tempo, ma in questi giorni provo a fare qualche esperimento
 [certo che una spiegazione più esauriente delle tue esigenze,
 magari accompagnata da un esempio, non guasterebbe]
 
 
 non hai bisogno di uploadare
 è sufficiente incollare il codice della macro fra i due tag code
 
 esempio:
 
  	  | Codice: |  	  | incolla qui il codice
 
 | 
 |  |  
		| Top |  |  
		|  |  
		| zazza Comune mortale
 
  
 
 Registrato: 27/03/13 10:39
 Messaggi: 2
 
 
 | 
			
				|  Inviato: 18 Apr 2013 12:36    Oggetto: |   |  
				| 
 |  
				| Ciao, l'albero che avevo immaginato era il classico del tipo:
 1. paragrafo
 1.1 sub - paragrafo
 
 e lo vorrei riportare in Excel per poter poi utilizzare dei filtri evenutalmente.. Non ho niente di piu preciso da darti al momento..
 
 Cmq ti giro una traccia di un codice che utilizzamo per copiare in altri file (sempre Excel) degli elementi che ci interessavano.
 
 
 
 
 [/code] 	  | Codice: |  	  | 
 Sub copia()
 
 Dim ws1 As Worksheet
 Dim ultD As Long
 Dim cl As Range
 Dim cl2 As Range
 Dim ColC As Range
 Dim NAlfredo As Long
 Dim NBarbara As Long
 Dim NBruno As Long
 Dim NClaudia As Long
 Dim area1 As Range
 Dim area2 As Range
 Dim area3 As Range
 Dim area4 As Range
 Set ws1 = ThisWorkbook.Sheets("Book1.xls")
 ultD = ws1.Range("C" & Rows.Count).End(xlUp).Row
 Set ColC = ws1.Range("B1:B" & ultD)
 
 For Each cl In ColC
 If CStr(cl) = "Alfredo" Then NAlfredo = cl.Row
 If CStr(cl) = "Barbara" Then NBarbara = cl.Row
 If CStr(cl) = "Bruno" Then NBruno = cl.Row
 If CStr(cl) = "Claudia" Then NClaudia = cl.Row
 Next cl
 
 Set area1 = ws1.Range("C" & NAlfredo + 1, "C" & NBarbara - 1)
 Set area2 = ws1.Range("C" & NBarbara + 1, "C" & NBruno - 1)
 Set area3 = ws1.Range("C" & NBruno + 1, "C" & NClaudia - 1)
 Set area4 = ws1.Range("C" & NClaudia + 1, "C" & ultD)
 
 For Each cl In area1
 If cl <> "" Then
 For Each cl2 In Workbooks("Scheda").Worksheets("MA").Range("M5:M8")
 If CStr(cl) = CStr(cl2) Then
 cl2.Offset(1, 0).Value = cl.Offset(0, 6).Value
 Exit For
 End If
 Next cl2
 End If
 Next cl
 For Each cl In area2
 If cl <> "" Then
 For Each cl2 In Sheets("Barbara").Range("C17:F17")
 If CStr(cl) = CStr(cl2) Then
 cl2.Offset(1, 0).Value = cl.Offset(0, 6).Value
 Exit For
 End If
 Next cl2
 End If
 Next cl
 For Each cl In area3
 If cl <> "" Then
 For Each cl2 In Sheets("Bruno").Range("C17:F17")
 If CStr(cl) = CStr(cl2) Then
 cl2.Offset(1, 0).Value = cl.Offset(0, 6).Value
 Exit For
 End If
 Next cl2
 End If
 Next cl
 For Each cl In area4
 If cl <> "" Then
 For Each cl2 In Sheets("Claudia").Range("C17:F17")
 If CStr(cl) = CStr(cl2) Then
 cl2.Offset(1, 0).Value = cl.Offset(0, 6).Value
 Exit For
 End If
 Next cl2
 End If
 Next cl
 
 
 Set ws1 = Nothing
 Set ColC = Nothing
 Set area1 = Nothing
 Set area2 = Nothing
 Set area3 = Nothing
 Set area4 = Nothing
 End Sub
 
 
 | 
 |  |  
		| Top |  |  
		|  |  
		|  |  
  
	| 
 
 | Non puoi inserire nuovi argomenti Non puoi rispondere a nessun argomento
 Non puoi modificare i tuoi messaggi
 Non puoi cancellare i tuoi messaggi
 Non puoi votare nei sondaggi
 
 |  
 
 |