ok.
riprovo e ti faccio sapere.
grazie
Questo browser non è più supportato.
Esegui l'aggiornamento a Microsoft Edge per sfruttare i vantaggi di funzionalità più recenti, aggiornamenti della sicurezza e supporto tecnico.
Ho un problema:
ho 2 tabelle excel da copiare in word con una macro.
Il documento WORD ha un foglio con orientamento verticale in cui devo copiare la prima tabella che può anche occupare più pagine, il successivo diviso dal primo con interruzione di sezione-pagina successiva ha orientamento orizzontale e in questo devo copiare la seconda tabella.
Quindi devo far partire una macro di word per formattare le 2 tabelle.
Questo è il codice che ho scritto:
Sheets("stampa").Select
Range("c3:e338").Activate
Selection.Copy
Set wd = CreateObject("Word.Application")
wd.Visible = True
wd.Documents.Open Filename:="c:\casistica.docx"
wd.Selection.Paste
Sheets("stampa").Select
Range("c371:j601").Activate
Selection.Copy
wd.Visible = True
wd.Selection.Paste
Sheets("stampa").Select
Range("a1").Select
'per annullare la selezione della copia
wd.Visible = True
End Sub
Nonostante porti in word il cursore ad una riga oltre la prima tabella mi incolla le 2 tabelle.
Cosa mi manca?
La macro word invece è questa:
Sub casistica()
'
' casistica Macro
'
Selection.Tables(1).Select
Selection.Rows.HeightRule = wdRowHeightAtLeast
Selection.Rows.Height = CentimetersToPoints(0.04)
Selection.Tables(2).Select
Selection.Rows.HeightRule = wdRowHeightAtLeast
Selection.Rows.Height = CentimetersToPoints(0.04)
End Sub
Ovviamente mi formatta solo la prima tabella e solo se il cursore è al suo interno, altrimenti mi segnala errore
Grazie in anticipo per l'aiuto. Mauro
Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.
ok.
riprovo e ti faccio sapere.
grazie
Niente, non riesco a farla girare.
BOH!
Scrivi qui:
maurogsc
chiocciola
alice.it
Ti mando (lunedì) un esempio.
Grazie mille Mauro!
A lunedi
caro mauro,
in attesa di vedere il tuo esempio ho perso qualche ora e ho modificato leggermente la tua macro e adesso mi pare che giri.
Secondo me comunque ho fatto un po' di casino alla fine della macro, tra i close e open (riga 18, 19 e 20: non sono un tecnico ma un autodidatta).
In questa maniera comunque word resta aperto, anche se non in primo piano, per consentirmi le opportune modifiche prima di salvare con nome definitivamente.
Mi piacerebbe avere comunque word in primo piano al termine della macro.
Ti allego le modifiche.
Cosa ne pensi?
1 Dim objWord As Object
2 Dim objDoc As Object
3 Dim sPath As String
4 Dim sNomeFile As String
5 Dim sh As Worksheet
6 Set sh = ThisWorkbook.Worksheets("stampa")
7 sPath = "C:\Prova"
8 sNomeFile = "dati.docx"
9 With sh
10 Set objWord = CreateObject("Word.Application")
11 If Dir(sPath) <> "" Then
12 Set objDoc = objWord.Documents.Open(sPath & sNomeFile)
13 .Range("c1:f20").Copy
14 objDoc.Bookmarks("Pippo").Range.Paste
15 .Range("e40:i60).Copy
16 objDoc.Bookmarks("Pluto").Range.Paste
17 Application.CutCopyMode = False
18 'objDoc.Close
19 'Set objDoc = Nothing
20 objWord.Documents.Open (sPath & sNomeFile)
End If
End With
End Sub