プロが教えるわが家の防犯対策術!

 質問させていただきます.
どうぞよろしくお願いいたします.

 PowerPointの操作をするコードを作成して使っております.
毎回立ち上がるパワポのウィンドウを非表示にしたいのですが,
myAPP.Visible = True状態でないと,presentations.Openでエラーが出てしまいます.

Dim myAPP As Object
myAPP = CreateObject("PowerPoint.Application")
Dim myAPPpre = myAPP.presentations
Dim Mypath As String = TextBoxパス.Text
Dim FName As String

myAPP.Visible = True

FName = Dir(Mypath & "test.ppt", vbNormal)
With myAPPpre.Open(Mypath & FName) '←上のmyAPP.Visible = Trueを消すとエラー
                    '「Presentations.Open : 無効な要求です。PowerPoint のフレーム ウィンドウは存在しません。」となります.

 どうにか見えない状態で実行できないものでしょうか.
調べておりますと,同じ現象がよくあるようでした.
http://www.kotaete-net.net/Default.aspx?pgid=14& …
http://www.microsoft.com/japan/technet/scriptcen … のページ中間あたり「さいわい、Visible プロパティを True に設定することによって~」のところ.)

 もし何か方法が分かるかたがいらっしゃいましたら,
アドバイスいただければと思います.
 どうぞよろしくお願いいたします.

A 回答 (2件)

Openの引数WithWindowの既定値はmsoTrueですから,そうなるでしょう。


WithWindowにMsoTriState.msoFalseを渡してやればよいです。
    • good
    • 4
この回答へのお礼

 どうもありがとうございます!
 アドバイス通りやってうまくいきました.
はじめ,Importするとエラーだらけになったので,
With myAPPpres.Open(Mypath & FName, WithWindow:=Microsoft.Office.Core.MsoTriState.msoFalse)
でできました.
 ただActivePresentationエラーの修正と合わせて
3時間かかりました..orz

 本当にどうもありがとうございました!

お礼日時:2009/05/17 20:00

myAPP.Top = 600 など画面外にしておいて


あとで戻しておくのだと簡単ですが。
使う人が途中で終了させたときにも
元に戻すようにしておく必要があります。
 (VBを使っていないので・・・です。)
    • good
    • 0
この回答へのお礼

 どうもありがとうございます!!
 画面ぎりぎりまで行く設定でやってみましたが,
テクが至らず元に戻せない時がありました.
 家族で使用するPCなので,今回はYune-Kichi様の方法でいきます.
 アドバイスどうもありがとうございました.

お礼日時:2009/05/17 20:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A