PowerPointが開いていない状態から定期的にスクリプトを実行させて印刷したい。
Wordの場合は以下の方法でできます。
これのPowerPoint版を探しています。
http://eppe.tamu.edu/~xuxj/lab/printdoc.vbs
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
人力検索はてな - 質問一覧
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
おぉ、こりゃすばらしい。
前の質問と同様に、ファイル名を指定して
出力のPostScript(Adobe Universal PostScript Driverを使用)をファイルに保存する方法はありませんか?
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
ありがとうございます。
完璧です。
ありがとうございます。
印刷できました。とりあえず満足です。
・ウィンドウを非表示にする方法
・プリント出力をファイル名をプログラムが
与えて保存する方法
を加えていただければ、各100ポイント追加します。
片方だけでもかまいません。
よろしくお願いします。