Издатель VBA для сохранения в виде изображения

Я разработал следующий код для сохранения всех файлов издателя в текущем каталоге в виде изображения, однако, похоже, это занимает много времени. Кроме того, я не могу найти способ исключить текущий файл, из которого выполняется макрос. У кого-нибудь есть идеи?

 Sub Looptest()

      Dim MyFile As String, Sep As String
      Dim objPub As Object
      Set objPub = CreateObject("Publisher.Application")
      Dim folder As String
      folder = CurDir()
    If Len(Dir(folder & "\" & "jpg", vbDirectory)) = 0 Then
        MkDir (folder & "\" & "jpg")
    End If


       Sep = Application.PathSeparator

      If Sep = "\" Then
         ' Windows platform search syntax.
         MyFile = Dir(CurDir() & Sep & "*.pub")

      Else

          MyFile = Dir("", MacID("XLS5"))
      End If

      ' Starts the loop, which will continue until there are no more files
      ' found.


      Do While MyFile <> ""
    'If MyFile = "macro.pub" Then
    'GoTo ContinueLoop
    'End If

    Dim pubApp As Publisher.Application
    Dim pubDoc As Publisher.Document
    Dim folder2 As String
    folder2 = CurDir() & Sep & MyFile


    Set pubApp = New Publisher.Application

    pubApp.Open folder2
    'pubApp.ActiveWindow.Visible = True
    num = folder2
    pubApp.ActiveDocument.Pages(1).SaveAsPicture CurDir() & Sep & "jpg" & "\" & MyFile & ".jpg"
    pubApp.Quit
             MyFile = Dir()
    'ContinueLoop:
          Loop

       End Sub

Я закомментировал свою попытку пропустить файл (называемый в данном случае Macro.pub), так как он просто завис и никуда не делся.

Любая помощь будет принята с благодарностью!

-Cr1kk0


person Cr1kk0    schedule 10.04.2015    source источник


Ответы (1)


Предполагая, что ваш код верен во всех остальных отношениях, это может помочь

If MyFile = ActiveDocument.FullName Then
    GoTo ContinueLoop
End If

Я предполагаю, что ваша проверка не удалась, потому что вы сравниваете короткое имя файла с полным именем файла. (Вы также можете просто жестко указать весь путь к macro.pub)

person Jbjstam    schedule 22.09.2015