dポイントプレゼントキャンペーン実施中!

おせわになります。
表題の通り、VBScriptを使ってあるエクセルブックを印刷モードで起動したいと思っています。
印刷モードで起動とは、例えばエクセルブックのアイコンをマウスで右クリックして「印刷」を選んだ時と同じ動作です。

ちなみに下記の方法でエクセル起動は出来ました。

' Excel起動
Set obj = CreateObject("Excel.Application")
Set WSHShell = CreateObject("Wscript.Shell")
WSHShell.Run "EXCEL.exe " & strCsvFilename
'印刷
WSHShell.sendkeys "%FP"

ただ、この方法では一度エクセルブックを開いて印刷ダイアログが表示されるまでなのです。
エクセルブックを開かずに印刷実行する方法をご存じの方どうぞアドバイス下さい。

A 回答 (1件)

CreateObjectでExcelアプリケーションを作成しているのなら、そのままWorkbookとしてCsvファイルをOpenして、印刷を実行すればいいはずですよ。



ちなみにWin2000、Office2000環境で下記で印刷できました。

Set obj = CreateObject("Excel.Application")
Set WSHShell = CreateObject("Wscript.Shell")
Set objWkBk = obj.Workbooks.Open("D:\TEST.csv")
obj.ActiveWindow.SelectedSheets.PrintOut()
obj.quit()
Set obj = Nothing


#CreateObjectした後にRunすると、CreateObjectで作成したExcelのタスクが残ってしまいますよ。
    • good
    • 0
この回答へのお礼

わざわざソースのご提示までありがとうございます。
おかげさまでやりたかった事が出来るようになりました。
本当にありがとうございました。

お礼日時:2005/10/15 14:56

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