VBScript で PowerPoint ファイルを自動印刷する方法。

PowerPointが開いていない状態から定期的にスクリプトを実行させて印刷したい。
Wordの場合は以下の方法でできます。
これのPowerPoint版を探しています。
http://eppe.tamu.edu/~xuxj/lab/printdoc.vbs

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:ohmix1 No.1

回答回数235ベストアンサー獲得回数14

ポイント150pt

http://www.alato.ne.jp/kazu-/vb/etc_tip01.htm

Microsoft Officeファイルの「読み取り専用で開く」をショートカット化

こんな感じでどうでしょう。上記URLは参考まで。

-------------------------------------

set args = WScript.Arguments

If args.length < 1 Then

WScript.echo ”Usage: cscript printppt <dir contains .PPT files>”

Else

pptdir = args(0)

set ppt = WScript.CreateObject(”PowerPoint.Application”)

ppt.Visible = True

Set fso = WScript.CreateObject(”Scripting.FileSystemObject”)

Set folder = fso.GetFolder(pptdir) ’ c:¥temp¥*.doc doesn’t work

For Each file In folder.Files

pptfile = file.path ’ file.name

If StrComp(Right(pptfile, 3), ”ppt”, 1) = 0 Then

printpptfile pptfile

End If

Next

ppt.quit

set ppt = Nothing

End If

’ ==================================================

Sub printpptfile(pptfile)

ppt.Presentations.Open pptfile, true

’ passed positionally

ppt.ActivePresentation.PrintOut

WScript.Sleep(10000) ’ change to a bigger value if your machine is slow

ppt.ActiveWindow.Close

End Sub

id:simogori

ありがとうございます。

印刷できました。とりあえず満足です。

・ウィンドウを非表示にする方法

・プリント出力をファイル名をプログラムが

 与えて保存する方法

を加えていただければ、各100ポイント追加します。

片方だけでもかまいません。

よろしくお願いします。

2004/03/05 15:19:12
id:sasada No.2

回答回数1482ベストアンサー獲得回数133

ポイント150pt

http://www.hatena.ne.jp/list

人力検索はてな - 質問一覧

 URLはダミーです。

 PowerPointは/pオプションでコマンドプロンプトから印刷できることを利用します。

例)

Set wShell=CreateObject(”WScript.Shell”)

For Each arg In WScript.Arguments

wShell.Run ”POWERPNT.EXE /p ””” & arg & ””””,Show,True

Next

WScript.Quit

id:simogori

おぉ、こりゃすばらしい。

前の質問と同様に、ファイル名を指定して

出力のPostScript(Adobe Universal PostScript Driverを使用)をファイルに保存する方法はありませんか?

2004/03/05 15:22:49
id:ohmix1 No.3

回答回数235ベストアンサー獲得回数14

ポイント200pt

http://www.hatena.ne.jp/1078462852##

VBScript で PowerPoint ファイルを自動印刷する方法。 PowerPointが開いていない状態から定期的にスクリプトを実行させて印刷したい。 Wordの場合は以下の方法でできます.. - 人力検索はてな

>・ウィンドウを非表示にする方法

なぜか非表示にすると動作しませんので、最小化で許してください。

>・プリント出力をファイル名をプログラムが与えて保存する方法

printdoc.vbs と同じ仕様に戻しました。

BUG:

なぜかバックグラウンド印刷をoffにする機能が見当たりません。

印刷にSleep(10000)=10秒より多くの時間を費やす場合は保証できません。

---------------------------------

set args = WScript.Arguments

If args.length < 1 Then

WScript.echo ”Usage: cscript printppt <dir contains .PPT files>”

Else

pptdir = args(0)

set ppt = WScript.CreateObject(”PowerPoint.Application”)

ppt.Visible = True

ppt.WindowState = 2 ’ ppWindowMinimized

Set fso = WScript.CreateObject(”Scripting.FileSystemObject”)

Set folder = fso.GetFolder(pptdir) ’ c:¥temp¥*.doc doesn’t work

For Each file In folder.Files

pptfile = file.path ’ file.name

If StrComp(Right(pptfile, 3), ”ppt”, 1) = 0 Then

prnfile = getBaseFilename(pptfile) & ”.ps”

printpptfile pptfile, prnfile

End If

Next

ppt.quit

set ppt = Nothing

End If

’ ==================================================

Function getBaseFilename(filename)

pos = InStrRev(filename, ”.”, -1, 1)

getBaseFileName = Left(filename, pos-1)

End Function

’ ==================================================

Sub printpptfile(pptfile, prnfile)

ppt.Presentations.Open pptfile, true

’ passed positionally

ppt.ActivePresentation.PrintOut , , prnfile

WScript.Sleep(10000) ’ change to a bigger value if your machine is slow

ppt.ActiveWindow.Close

End Sub

id:simogori

ありがとうございます。

完璧です。

2004/03/05 16:15:01

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません