4

パワーポイントを開いてスライドショーを再生する方法を教えてもらえますか

私は次のコードを持っていますが、それは機能していません

$ppAdvanceOnTime = 2
 $ppShowTypeKiosk = 3
 $ppSlideShowDone = 5

Add-type -AssemblyName office
$Application = New-Object -ComObject powerpoint.application
$application.visible = [Microsoft.Office.Core.MsoTriState]::msoTrue
$path = "C:\Users\asuribha\Desktop\Web.pptx"



 $presentation = $application.Presentations.open($path)

$presentation.SlideShowSettings.AdvanceMode = $ppAdvanceOnTime 
$presentation.SlideShowSettings.ShowType =  $ppShowTypeKiosk 

$presentation.SlideShowSettings.StartingSlide = 1
$presentation.SlideShowSettings.EndingSlide = $presentation.Slides.Count

Do
 {
    $presenatation.SlideShowSettings.Run.View.
    if (Err<>0)
    {
        Exit Do
    }

}       

 until ($presenatation.SlideShowSettings.Run.View.State = $ppSlideShowDone)






$application.quit()

[gc]::collect()
[gc]::WaitForPendingFinalizers()

このコードはパワーポイントを開きますが、スライドショーを再生しません!!! 私もこれに問題があり、パワーポイントを自動的に閉じることがあります。これで私を助けてください

4

2 に答える 2

3

私はさまざまなサイトから上記の多くの問題を抱えていましたが、最終的にこれが最も高速であり、パワーポイントがマシンを実行していなくても問題がないことがわかりました。私は基本的に、受付係が入力ボックスだけで簡単に詳細を入力できるスクリプトを実行し、終了時にプレゼンテーション画面で別のpowershellを実行したかったのです。

これが受付入力のpowershell入力です。

Add-Type -AssemblyName Microsoft.VisualBasic
$PPTFile = [Microsoft.VisualBasic.Interaction]::InputBox('Enter FileName', 'Powerpoint File', "$env")
$pptx = "d:\Presentations"+($pptfile)+".pptx"
$pptx | Out-File "\\(machine name)\Scripts\Powerpoint.txt"

後でPowerShellをリモートで実行することで、おそらくもっと単純化できますが、現在、PowerShellの初心者として、反対側で他のスクリプトを実行し、すべて正常に動作しています。

Stop-Process -name "POWERPNT"
$Power = Get-Content "d:\Scripts\Powerpoint.txt"
write-output $Power
$powerptx = "/s "+($Power)

start-process powerpnt.exe -ArgumentList "$powerptx"

于 2016-12-15T19:54:56.920 に答える