Просмотр местоположения для сохранения и названия при экспорте слайда PPT в формате PDF в режиме слайд-шоу

#vba #powerpoint

#vba #powerpoint

Вопрос:

Я хочу сохранить только 1 конкретный слайд в формате .PDF (или, по крайней мере, изображение) в режиме слайд-шоу.

Я хочу предоставить пользователю возможность просматривать местоположение и выбирать имя, используя функцию просмотра по умолчанию. Я не хочу, чтобы они писали путь.

     Dim ExportPath As String   ' drive:path to export to
    Dim Pixwidth As Integer    '  size in pixels of exported image
    Dim Pixheight As Integer
    Dim oSlide As Slide

    ' Edit to suit
    Pixwidth = 1920    '  arbitrarily ... set whatever value you like here

    ' Set height proportional to slide height
    Pixheight = 1080

    ExportPath = ActivePresentation.Path amp; ""

    Set oSlide = ActivePresentation.SlideShowWindow.View.Slide
    With oSlide
        .Export ExportPath amp; "Slide" amp; CStr(.SlideIndex) amp; ".JPG", "JPG", Pixwidth, Pixheight
    End With
  

Я нашел код в Интернете, и он работает хорошо, но не позволяет пользователю просматривать местоположение и выбирать имя.

Затем я использовал следующий код, который работал замечательно:

 Dim CurrentSlide As Long
CurrentSlide = ActivePresentation.SlideShowWindow.View.Slide.SlideNumber
With ActivePresentation.PrintOptions
OutputType = ppPrintOutputSlides
End With

ActivePresentation.PrintOut
  

Однако это работает не на всех устройствах.
В некоторых он просто не распознает PrintOut функцию, а в других он печатается в OneNote.

Возможно ли, чтобы пользователь просматривал и сохранял как файл .PDF (опция экспорта вместо опции печати в случае, если у них нет принтера PDF)

Спасибо.

Комментарии:

1. Придерживайтесь .Export , ознакомьтесь с этой ссылкой для объяснения использования каталога файлов (он же просмотр по умолчанию) для выбора местоположения файла для сохранения: software-solutions-online.com /…

Ответ №1:

 Application.FileDialog(msoFileDialogSaveAs).Show
Dim Location As String
Location = Application.FileDialog(msoFileDialogSaveAs).SelectedItems(1)
  

Вы можете использовать приведенный выше код, чтобы получить путь и имя, которые желает пользователь.

Этот код позволит вам экспортировать: ActivePresentation.Экспорт в фиксированном формате