Откройте файлы Publisher в папке и сохраните как документы Word

Мне нужно открыть большое количество документов, которые в данный момент сохранены в Publisher (2003, 2007 и 2010) и преобразовать их в документы Word. Это простые одностраничные текстовые документы, но у меня есть около 1000 для конвертации. Вот код, который у меня есть:

Public Sub Pub_To_Word()

Dim FS As New FileSystemObject
Dim pubApp As Publisher.Application
' Reference Library pointing to:
' Microsoft Scripting Runtime
' Microsoft Word 14.0 Object Library
Dim FSfolder As Folder
Dim MyFile As File
Dim mydoc As Document
Dim sFolderPath As String
Dim Table As Table


sFolderPath = "I:\My Documents\Publisher Test"
Set FSfolder = FS.GetFolder(sFolderPath)

For Each MyFile In FSfolder.Files

           Set mydoc = pubApp.Open(MyFile)
               Application.DisplayAlerts = False
               mydoc.SaveAs Filename:MyFile & ".docx", FileFormat:=wdFormatXMLDocument
               mydoc.Close savechanges:=True
           pubApp.DisplayAlerts = True

      End If

     Next

    End
End Sub

Код отлаживается в

 FileFormat:=wdFormatXMLDocument

Я не могу пройти через это.

1 ответ

Не знаю, почему вы делаете это в Excel, но:

  • Похоже, вы пропустили двоеточие в Filename:MyFile & ".docx",
  • Это допустимые форматы файлов для Document.SaveAs: https://msdn.microsoft.com/EN-US/library/office/ff940508.aspx. Я думаю, что вам, возможно, придется сохранить как RTF (pbFileRTF = 6) или HTML и преобразовать его в.docx через взаимодействие Word. Эта, по общему признанию, устаревшая статья также указывает на это: https://support.microsoft.com/en-us/kb/302939. (Возможно, вам придется использовать число 6 вместо определенной константы, поскольку вы делаете это в Excel)

Изменить: wdFormatXMLDocument может быть не определен, так как вы запускаете макрос из Publisher, поэтому проще всего было бы заменить его на 12

Другие вопросы по тегам