人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

●質問者: simogori
●カテゴリ:コンピュータ
✍キーワード:PowerPoint VBScript Word スクリプト ファイル
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● ohmix1
●150ポイント

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

◎質問者からの返答

ありがとうございます。

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

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

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

与えて保存する方法

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

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

よろしくお願いします。


2 ● sasada
●150ポイント

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

◎質問者からの返答

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

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

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


3 ● ohmix1
●200ポイント

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

◎質問者からの返答

ありがとうございます。

完璧です。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ