• ベストアンサー

プロンプトでExcelのファイルを印刷したい

どうもこんにちは。 Excelのファイルを印刷する際、普段はExcelを起動して印刷するか、エクスプローラでファイルを右クリックして印刷を実行しています。 複数のxlsファイルを順番に印刷したいのですが、プロンプトでコマンドを入力して印刷する方法はないのでしょうか。 OSはWindowsXPを使用しています。 プリンタはパソコンと直接つながっているわけでなく、LAN経由でつながってます。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

こんばんは。 残念ながら、起動オプションには印刷が見当たりませんでした。 http://support.microsoft.com/default.aspx?scid=kb;ja;291288 それで、下のようなものを作ってみました。 '-------------------------------------------------- ' Usage : XlsPrint.VBS file Option Explicit Dim fso Dim wShell Dim Path Dim File Dim Shell Dim I Set fso=CreateObject("Scripting.FileSystemObject") Set wShell=CreateObject("WScript.Shell") Path=wShell.RegRead("HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\excel.exe\") Path=Replace(Path,"""","") Path=wShell.ExpandEnvironmentStrings(Path) RegWrite "HKCR\*\shell\XlsPrint\command\",""""&Path&"""" RegWrite "HKCR\*\shell\XlsPrint\extended","" RegWrite "HKCR\*\shell\XlsPrint\ddeexec\","[open(""%1"")][print()][quit()]" RegWrite "HKCR\*\shell\XlsPrint\ddeexec\application\","Excel" RegWrite "HKCR\*\shell\XlsPrint\ddeexec\topic\","system" Set Shell=CreateObject("Shell.Application") For I=0 To WScript.Arguments.Count()-1 Set File=fso.GetFile(WScript.Arguments.Item(I)) Shell.ShellExecute File.Path,0,,"XlsPrint" WScript.Sleep 1000 Next WScript.Quit Sub RegWrite(Key,Value) If Not RegRead(Key)=Value Then wShell.RegWrite Key,Value,"REG_SZ" End Sub Function RegRead(Key) On Error Resume Next RegRead=vbNullChar RegRead=wShell.RegRead(Key) End Function '-------------------------------------------------- '---- から始まって '---- で終わる行までを XlsPrint.VBS として保存して、オプションにファイル名を指定して実行してみて下さい。 デフォルトのプリンターに出力される、、、はずです。

redasurc
質問者

お礼

回答ありがとうございます。 VBSを使用すればできるのですね。 このコードを参考にスクリプトを作成しました。 ありがとうございました。

その他の回答 (1)

  • violet430
  • ベストアンサー率36% (27472/75001)
回答No.2
redasurc
質問者

お礼

回答ありがとうございます。 VBSで印刷用のスクリプトを書くことにしました。

関連するQ&A