ここから本文です

こんにちは。VBSでパワーポイントを印刷する方法を教えてください。以前こちらで、...

lot********さん

2018/3/1222:32:45

こんにちは。VBSでパワーポイントを印刷する方法を教えてください。以前こちらで、ワードを印刷する方法について教えていただきました。同じようにパワーポイントにしてみたのですが、うまくいきません。

詳しい方、間違いを教えてください。


Option Explicit
Dim dc, f, gf, so, ppt
Set so = CreateObject("Scripting.FileSystemObject")
Set gf = so.GetFolder(".")
Set ppt = CreateObject("PowerPoint.application")
ppt.Application.DisplayAlerts = False
ppt.Visible = False
For Each f In gf.Files
If LCase(so.GetExtensionName(f.Name)) = "pptx" Then
Set dc = ppt.Documents.Open(gf & "\" & f.Name)
dc.PrintOut
dc.Close
WScript.Sleep 5000
Set dc = Nothing
End If
Next
Set gf = Nothing
Set ppt = Nothing
MsgBox("終わり")

エラーのメッセージは、
行:6
文字:1
エラー:オbジュジェクトでサポートされていないプロパティまたはメソッドです。:’Application
となりました。
"PowerPoint.application"が違いますか??

よろしくお願いします。

閲覧数:
45
回答数:
1
お礼:
250枚

違反報告

ベストアンサーに選ばれた回答

Prometheusさん

2018/3/1223:17:23

Option Explicit
Dim dc, f, gf, so, ppt
Set so = CreateObject("Scripting.FileSystemObject")
Set gf = so.GetFolder(".")
Set ppt = CreateObject("PowerPoint.Application")
'ppt.Application.DisplayAlerts = False
'ppt.Visible = 0
For Each f In gf.Files
If LCase(so.GetExtensionName(f.Name)) = "pptx" Then
Set dc = ppt.Presentations.Open(gf & "\" & f.Name)
dc.PrintOut
'WScript.Sleep(5000)
dc.Close
Set dc = Nothing
End If
Next
ppt.Quit
Set gf = Nothing
Set ppt = Nothing
MsgBox("終わり")

今試したのですが(実際にプリントしたのですが)、私の環境でなぜか

'ppt.Application.DisplayAlerts = False
'ppt.Visible = 0

がエラーが出たので、今は「'」を付けて、実行されないようにしています。

もちろん、質問者の環境でエラーが出なければ、「'」は不要です。

Set dc = ppt.Presentations.Open(gf & "\" & f.Name)

ファイルの開き方が違います。

エクセルなら「Workbooks.Open」ですし、ワードなら「Documents.Open」と、それぞれのアプリケーションによって、異なるのです。

パワーポイントは「Presentations.Open」です。

'WScript.Sleep(5000)

は、今回、2ファイルで試しましたが、不要でした。

ただし、プリンタの設定によっては、もしかしたら、あった方がいいかもしれません。

できれば、質問者の環境で、「'WScript.Sleep(5000)」のまま(頭に「'」の付いたまま)試してみてください。

多分、問題ないと思います。

最後に、「Set ppt = Nothing」とありますが、「ppt」を終了していません。

「ppt.Quit」をしてから「Set ppt = Nothing」を実行してください。

質問した人からのコメント

2018/3/12 23:56:52

lin_nyan36さん、いつもお世話になっております。
早速のご回答をいただき、ありがとうございました!
無事に印刷できました。

私の環境でも、下記がエラーとなったので、「'」をつけたままにしました。
ppt.Application.DisplayAlerts = False
ppt.Visible = 0

あれから何の進歩もしていないのがバレバレですが、詳しい解説をいただき有難いです。

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる