Luca
2007-05-22 16:31:39 UTC
Ciao a tutti,
vi sottopongo il mio problema.
La mia necessità è quella di copiare dei dati da un foglio di excel e
incollarli in un foglio di word già precompilato.
Ho fatto un po' di ricerche nel newsgroup e ho trovato un'interessante
soluzione proposta da Norman ( thread "macro da excel in word" del 09/04/07)
di cui posterò il codice alla fine del post.
Il codice funziona alla grande, ma vorrei chiedere se ci sono altre
soluzioni a riguardo, per 2 motivi :
1 - i dati che devo copiaree incollare sono parecchi, quindi dovrei inserire
parecchi segnalibri nel modello di Word ( non che la cosa mi spaventi!)
2 - i dati che vengono incollati in word sono sottoforma di tabella e vanno
a modificare tutta l'impaginazione del foglio. Esiste la possibilità di
incollarli come semplice testo?
Spero di aver descritto chiaramente il problema.
Grazie per i preziosi suggerimenti.
Luca
------------------------------------
Public Sub Tester()
'\\ Inserisci un riferimento alla libreria
'\\"Microsoft Word 10 Object Library"
Dim WB As Workbook
Dim SH As Worksheet
Dim srcRng As Range
Dim wdApp As Word.Application
Dim wdDoc As Word.Document
Dim Rng As Object
Dim bkMark As Bookmark
Dim bkMarks As Bookmarks
Dim arr As Variant
Const sPath As String = "C:\Data\" '<<=== da CAMBIARE
Const myFile As String = "Pippo2.doc" '<<=== da CAMBIARE
Set WB = Workbooks("pippo.xls")
Set SH = WB.Sheets("Scorte")
Set srcRng = SH.Range("A1")
Set wdApp = New Word.Application
wdApp.Visible = True
Set wdDoc = wdApp.Documents.Open(sPath & myFile)
Set bkMark = wdDoc.Bookmarks("Pluto") '<<== da CAMBIARE
Set Rng = bkMark.Range
srcRng.Copy
Rng.Paste
With wdDoc
.SaveAs Filename:=sPath & sStr & ".doc"
.Close
End With
wdApp.Quit
' Clean up
Set Rng = Nothing
Set bkMark = Nothing
Set bkMarks = Nothing
Set wdDoc = Nothing
Set wdApp = Nothing
End Sub
'<<=============
Per utilizzare questa routine:
Alt-F11 per aprire l'Editor di VBA
Menu | Inserisci | Modulo
Incolla il suddetto codice
Alt-F11 per tornare in Excel
Alt-F8
Seleziona "Tester"
Esegui
Prima di esegiure la macro, devi inserire un
riferimento alla libreria:
'"Microsoft Word xx Object Library"
Alt-F11 per aprire l'editor di VBA
Menu | Strumenti | Riferimenti
vi sottopongo il mio problema.
La mia necessità è quella di copiare dei dati da un foglio di excel e
incollarli in un foglio di word già precompilato.
Ho fatto un po' di ricerche nel newsgroup e ho trovato un'interessante
soluzione proposta da Norman ( thread "macro da excel in word" del 09/04/07)
di cui posterò il codice alla fine del post.
Il codice funziona alla grande, ma vorrei chiedere se ci sono altre
soluzioni a riguardo, per 2 motivi :
1 - i dati che devo copiaree incollare sono parecchi, quindi dovrei inserire
parecchi segnalibri nel modello di Word ( non che la cosa mi spaventi!)
2 - i dati che vengono incollati in word sono sottoforma di tabella e vanno
a modificare tutta l'impaginazione del foglio. Esiste la possibilità di
incollarli come semplice testo?
Spero di aver descritto chiaramente il problema.
Grazie per i preziosi suggerimenti.
Luca
------------------------------------
Public Sub Tester()
'\\ Inserisci un riferimento alla libreria
'\\"Microsoft Word 10 Object Library"
Dim WB As Workbook
Dim SH As Worksheet
Dim srcRng As Range
Dim wdApp As Word.Application
Dim wdDoc As Word.Document
Dim Rng As Object
Dim bkMark As Bookmark
Dim bkMarks As Bookmarks
Dim arr As Variant
Const sPath As String = "C:\Data\" '<<=== da CAMBIARE
Const myFile As String = "Pippo2.doc" '<<=== da CAMBIARE
Set WB = Workbooks("pippo.xls")
Set SH = WB.Sheets("Scorte")
Set srcRng = SH.Range("A1")
Set wdApp = New Word.Application
wdApp.Visible = True
Set wdDoc = wdApp.Documents.Open(sPath & myFile)
Set bkMark = wdDoc.Bookmarks("Pluto") '<<== da CAMBIARE
Set Rng = bkMark.Range
srcRng.Copy
Rng.Paste
With wdDoc
.SaveAs Filename:=sPath & sStr & ".doc"
.Close
End With
wdApp.Quit
' Clean up
Set Rng = Nothing
Set bkMark = Nothing
Set bkMarks = Nothing
Set wdDoc = Nothing
Set wdApp = Nothing
End Sub
'<<=============
Per utilizzare questa routine:
Alt-F11 per aprire l'Editor di VBA
Menu | Inserisci | Modulo
Incolla il suddetto codice
Alt-F11 per tornare in Excel
Alt-F8
Seleziona "Tester"
Esegui
Prima di esegiure la macro, devi inserire un
riferimento alla libreria:
'"Microsoft Word xx Object Library"
Alt-F11 per aprire l'editor di VBA
Menu | Strumenti | Riferimenti