VBScriptにてパワポを起動し、ある条件まで起動したパワポを非表示にしたいのですが、
Visible = Trueは使えるのに、Visible = False だとエラーになります。
VBAだとScreenUpdatingなどの描画制御ができると思うのですが
VBScriptでアプリを非表示状態(もしくは描画費更新)させたい場合、
何か良い方法はないでしょうか。
VBScript
1Dim oApp : Set oApp = CreateObject("PowerPoint.Application") 2oApp.Visible = True
コード中にVisible = Falseがありません。
エラーの内容が書いてありません。
>ある条件まで起動した
これが原因じゃないですかね。
?違うと思います。
条件によってoApp.Visible = Falseが使えなくなることがあるのでしょうか?
ある条件とは例えばファイル開いて5秒後に表示したいようなケースです。
Set oApp = CreateObject("PowerPoint.Application")
oApp.Visible = False '不可視にする
oApp.Presentations.Open("E:\テスト.ppt")
oApp.ActivePresentation.SlideShowSettings.Run
WScript.Sleep(5000)
oApp.Visible = True '可視にする
上記のようなことを実験したいのですが、
キャプチャ載せている通り、アプリケーションを非表示にするとことはできないというエラーなのでoApp.Visible = Falseが使えないのは分かっています。
本当にやりたいことは、
PowerPointの編集画面などを表示させずにいきなりスライドショーを開始したい
ということですか?
お世話になります。
いえ、少し特殊なのですが、パワポの中にブラウザコントロールを設置しているのですが、
このブラウザコントロールが1度目のスライドショー ではかならず表示されず、2度目の実行で表示されるという不具合が発生しております。しかもこの現象はoffice2016でのみ発生しており、2010,
2013では発生していません。また表示しているサイト側の問題でもないことも確認できています。
なので、VBSの外部スクリプトからパワポを起動し、一度スライドを実行、中断、再度実行
というスクリプトはできているのですが、常に描画されるのでスマートに(非表示の状態で)実行させ
最後に表示することであたかも1回目で表示されているような動きを実現したいと考えております。
ちなみに
oApp.Top=0
oApp.Left=0
oApp.Width=0;
oApp.Height=0
とすると隠れるかと思ったのですが
起動時は小さいものの、スライドショー 実行では最大化されてしまいます。
また、oApp.Left=3000などで画面外に出そうかと思いましたが
こちらも画面外には出ませんでした。。。

回答2件
あなたの回答
tips
プレビュー