2017年11月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
無料ブログはココログ

« Excelの設定変更の振る舞いについて | トップページ | Excelファイルをコマンドラインで印刷する。 »

2007年2月24日 (土)

Excelファイルの関連付けで、DDEを使わないようにする。

Excelファイルの関連付けは、DDEを使用していますが、これはトラブルの元です。

「開く」は、DDEを使わないようにできますが、「印刷」はどうするか?

「開く」
"~\EXCEL.EXE" "%1"

WorkBooks.Open(ファイル)に相当します。

「新規」
"~\EXCEL.EXE" /n "%1"

WorkBooks.Add(ファイル)に相当します。

元の関連付けにあった /e オプションは、起動時にブック指定がないとき、デフォルトの Book1 などを開かないことを指示します。

「印刷」
MSHTA.EXE vbscript:Execute("Set xl=CreateObject(""Excel.Application""):xl.AutomationSecurity=2:Set bk=xl.WorkBooks.Open(""%1""):bk.PrintOut:bk.Close:Set bk=Nothing:xl.Quit:Set xl=Nothing:resizeTo 0,0:close:")

または、

WScript.exe "~\ExcelPrint.VBS" "%1"

「PrintTo」
MSHTA.EXE vbscript:Execute("Set xl=CreateObject(""Excel.Application""):xl.AutomationSecurity=2:Set bk=xl.WorkBooks.Open(""%1""):Call bk.PrintOut(,,,,""%2""):bk.Close:Set bk=Nothing:xl.Quit:Set xl=Nothing:resizeTo 0,0:close:")

または、

WScript.exe "~\ExcelPrintTo.VBS" "%1" "%2"

元の動詞は「~2」に変えて、メニュー名を「DDEで~」に変えて、
文字列値extendedを付けておけば、シフトキー+右クリックメニューで使えます。

« Excelの設定変更の振る舞いについて | トップページ | Excelファイルをコマンドラインで印刷する。 »