Как узнать, зарегистрирован ли определенный фильтр экспорта в Windows?

#vba #export #powerpoint

#vba #экспорт #powerpoint

Вопрос:

Я использую Slide.Экспорт для экспорта слайда PowerPoint в файл. На основе его документа в https://learn.microsoft.com/en-us/office/vba/api/powerpoint.slide.export , в нем говорилось, что второй параметр — это имя фильтра и «Указанный графический формат должен иметь фильтр экспорта, зарегистрированный в реестре Windows»..

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

Ответ №1:

Справка Microsoft по этой команде практически отсутствует. Нет даже обычного списка автозаполнения параметров FilterName. Все, что вы можете сделать, это попробовать последовательность строк filtername, чтобы увидеть, какие из них экспортируются. Все приведенные ниже работают:

 Sub Test()
    With ActivePresentation.Slides(1)
        .Export FileName:="Test.jpg", FilterName:="JPG"
        .Export FileName:="Test.bmp", FilterName:="BMP"
        .Export FileName:="Test.gif", FilterName:="GIF"
        .Export FileName:="Test.tif", FilterName:="TIF"
        .Export FileName:="Test.wmf", FilterName:="WMF"
        .Export FileName:="Test.emf", FilterName:="EMF"
    End With
End Sub
  

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

1. Также обратите внимание, что «PPTX» является допустимым графическим фильтром для Windows, но не для macOS, где вы получите сообщение об ошибке. Любопытно, учитывая разреженность и неверную информацию в статье Microsoft, упомянутой alancc.

Ответ №2:

Похоже, что фильтры, которые использовались, были найдены в реестре здесь:

HKLM SOFTWARE Microsoft Office ClickToRun REGISTRY MACHINE Software Wow6432Node Microsoft Общие инструменты Графические фильтры

Но вы увидите только GIF, PNG и JPEG, и они указывают на файлы * .FLT, которые кажутся каким-то устаревшим форматом. Если вы ищете в своей файловой системе *flt.dll файлов, которые вы найдете еще много, в том числе offFilt.dll который может быть фильтром для экспорта в форматы файлов Office XML.

Также обратите внимание, что параметры экспорта не совпадают с тем, что включает PowerPoint, поэтому, хотя вы можете сохранить изображение на слайде как SVG, если вы попробуете слайд.Метод экспорта с «svg» в качестве фильтра, вы получите эту ошибку:

Слайд (неизвестный участник): PowerPoint не может экспортировать слайд (слайды), поскольку ни один установленный конвертер не поддерживает этот тип файла.

введите описание изображения здесь

Таким образом, полный список (в Windows) выглядит следующим образом:

png, jpg, gif, tif, bmp, emf, wmf

Много догадок, но да, документация Microsoft по этому методу вызывает сожаление.