pochojava
27-01-2016, 09:52
Salve,sto provando a scrivere una macro in visual basic 2010 che apre i documenti da una cartella specificata e salva il documento in un altra cartella in formato xml di word ma attualmente il codice non funziona c'è qualcuno che sa dirmi quale è il mio errore?
Il mio codice è:
Sub ApplyMacroToAllFiles(ByVal MyPath As String)
Dim FileSys As Object
Dim objFolder As Object
Dim objSubFolder As Object
Dim objFile As Object
Dim wkOpen As Document
Set FileSys = CreateObject("Scripting.FileSystemObject")
Set objFolder = FileSys.GetFolder(MyPath)
Application.ScreenUpdating = False
For Each objSubFolder In objFolder.SubFolders
For Each objFile In objSubFolder.Files
Set wkOpen = Documents.Open(FileName:=objFile)
ChangeFileOpenDirectory "path della cartella di salvataggio"
ActiveDocument.SaveAs2 FileFormat:=wdFormatXMLDocument
wkOpen.Close savechanges:=True
Next
Call ApplyMacroToAllFiles(objSubFolder.Path)
Next
Application.ScreenUpdating = True
End Sub
Il mio codice è:
Sub ApplyMacroToAllFiles(ByVal MyPath As String)
Dim FileSys As Object
Dim objFolder As Object
Dim objSubFolder As Object
Dim objFile As Object
Dim wkOpen As Document
Set FileSys = CreateObject("Scripting.FileSystemObject")
Set objFolder = FileSys.GetFolder(MyPath)
Application.ScreenUpdating = False
For Each objSubFolder In objFolder.SubFolders
For Each objFile In objSubFolder.Files
Set wkOpen = Documents.Open(FileName:=objFile)
ChangeFileOpenDirectory "path della cartella di salvataggio"
ActiveDocument.SaveAs2 FileFormat:=wdFormatXMLDocument
wkOpen.Close savechanges:=True
Next
Call ApplyMacroToAllFiles(objSubFolder.Path)
Next
Application.ScreenUpdating = True
End Sub