Создать mp4 из PowerPoint в PowerShell - PullRequest
0 голосов
/ 07 декабря 2018

Я работаю над проектом, который требует автоматизации экспорта презентаций PowerPoint в формат .mp4.Я выяснил, как сохранить PowerPoint в формате .mp4 с помощью PowerShell, но я не смог найти никакой документации о том, как изменить количество секунд, в течение которых слайды остаются на экране в видео, используя только PowerShell.

Текущий код:

$Application = New-Object -ComObject powerpoint.application
$Application.Visible = [Microsoft.Office.Core.MsoTriState]::msoTrue
$ThemePath = "C:\Users\Theme.potx"
$PPTXPath = "C:\Users\ExistingPresentation.pptx"
$SavePath = "C:\Users\MyPresentation.mp4"

$Presentation = $Application.Presentations.Open($ReportPath)
--Applies a theme for the slides
$Presentation.ApplyTemplate($ThemePath)
--Saves as a Video
$Presentation.SaveAs($SavePath, 39)
$Presentation.Close()

На что я пытаюсь нацелиться:

Target

РЕДАКТИРОВАТЬ: IВы нашли библиотеку в Windows PowerPoint, которая, кажется, содержит библиотеку классов, которые можно использовать для изменения ее членов.Одним из них является «powerpoint.application», теоретически следующий сценарий должен быть возможен в соответствии с предложением Тео, хотя вместо этого я получаю ошибку.

$SlideShowTransition = New-Object -ComObject powerpoint.SlideShowTransition
$SlideShowTransition.AdvanceOnTime = $True
$SlideShowTransition.AdvanceTime = 10

New-Object : Retrieving the COM class factory for component with CLSID {00000000-0000-0000-0000-000000000000} failed due to the following error: 80040154 Class not 
registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
At line:1 char:13
+ $Whatever = New-Object -ComObject powerpoint.SlideShowTransition
+             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ResourceUnavailable: (:) [New-Object], COMException
    + FullyQualifiedErrorId : NoCOMClassIdentified,Microsoft.PowerShell.Commands.NewObjectCommand

Вот еще один снимок экрана непосредственно из среды.По какой-то причине SlideShowTransition не отображается.Возможно, мне не хватает ссылки ...?

1 Ответ

0 голосов
/ 07 декабря 2018

Я думаю, что вы не должны создавать $ SlideShowTransition без использования $ Presentation, потому что последний представляет фактическую презентацию, без чего вы ничего не можете установить на ней.
См. Пример на Официальный документ MS как он использует ActivePresentation для настройки.
как это работает: если вы ищете ActivePresentation в левом окне поиска, вы увидите, что он находится в разделе «Приложение».Таким образом, для ссылки на него используется путь Application.ActivePresentation.Slides, после которого вы можете попробовать метод Тео.Я думаю, что у вас есть только одна открытая презентация, которая является активной.Если нет, вам нужно больше копаться в документах, чтобы активировать вашу презентацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...