mantenere formattazione
Hai un problema con Excel? 
mantenere formattazione
di lalabay (utente non iscritto) data: 25/09/2015 17:13:20
Salve, nel mio foglio di calcolo, uso una macro che mi permette di incollare automaticamente il contenuto di documenti word, in un determinato documento word.
Questa è la macro:
Private Sub CommandButton1_Click()
Dim appWord As Object, MyData As DataObject, MyFile
strPath = perc_file & ActiveCell & ".doc"
Apri_AppWord
wApp.Visible = True
If x Then Exit Sub
With wApp
.Selection.WholeStory
.Selection.Copy
Set appWord = GetObject(, "Word.Application")
appWord.Documents(1).Activate
Set MyFile = New DataObject
MyFile.GetFromClipboard
appWord.Selection.TypeText Text:=MyFile.GetText
appWord.Selection.TypeText Text:=vbCrLf
End With
wApp.Quit
Set wApp = Nothing
Application.ScreenUpdating = True
End Sub
Funziona tutto perfettamente tranne che non mantiene la formattazione di origine ma applica la formattazione di destinazione.
Qualche idea per risolvere il mio problema?
di cromagno data: 25/09/2015 17:26:29
Ciao,
non so quasi nulla di word (se non le classiche cose),
ma questa riga:
appWord.Selection.TypeText Text:=MyFile.GetText
credo significhi che stai "prendendo" solo il testo e non la formattazione...
Inoltre, come detto prima, non sono pratico di word e non ho modo di poter verificare il codice al momento, ma quest'altra riga:
wApp.Quit
non è che mi piaccia molto....
di lalabay (utente non iscritto) data: 25/09/2015 17:59:28
wApp.Quit dovrebbe servire a chiudere il file d'origine, dopo aver copiato il contenuto e prima di incollarlo nel file di destinazione.
Non si potrebbe modificare questa riga:
appWord.Selection.TypeText Text:=MyFile.GetText
In modo che "copi" la formattazione, oltre al testo?
di cromagno data: 25/09/2015 18:44:49
Ti ho detto della riga
.Quit
in quanto, se messa in un codice per excel, chiuderebbe ogni applicazione aperta (file excel) e citando "Vecchio Frac"....
"Non esiste VBA per exel ma VBA"
credo farebbe lo stesso anche nel tuo codice (ma probabilmente sbaglio).
Per la riga incriminata, sempre se sia quella, spero risponda qualcuno più competente di me.
Se parlassimo di excel, registrerei una macro in modo da vedere esattamente come copiare anche la formattazione e dopo la adatterei.... anzi, in excel, se non ricordo male c'è il:
.xlpasteall
ripeto, non ho modo di provare nulla, sto solo provando a darti qualche spunto...
di lalabay (utente non iscritto) data: 25/09/2015 19:01:09
Ti ringrazio
Vuoi Approfondire?