前提・実現したいこと
Windows7で動いていた以下プログラムをWindows10上で動作させたいです。
どなたかお解りになる方、ご教示頂きたいです。よろしくお願いいたします。
IE11のグループウェアのプラグインで、PerlのCgiからVbscriptを実行して
Excelをダウンロードする。
(VbsからExcelVBAを呼び出し、パラメータCSVに罫線等加工して出力)
Perl5(変更なし)
Excel 97 ⇒ Excel 2019
IE11(変更なし、但しブラウザは変更可能)
発生している問題・エラーメッセージ
Vbscriptが実行されず、待機中のまま応答が帰らない。
localhostの待機中...
該当のソースコード
Perl
1if ($#key_list > -1){ 2 &make_file; ←ここでcsvファイルを作成して出力しているが、問題なく出力される。 3 &download_x; 4} 5 6sub download_x { 7 system("XXX.vbs $tempname"); ←makeファイルで作成したcsvを$tempnameにパラメータとして渡す 8 my $filename = "$tempname.xls"; 9 print qq|Content-type: application/vnd.ms-excel\n|; 10 print qq|Content-Disposition: attachment; filename="$filename"\n\n|; 11 open FILE,"$filename"; 12 while(<FILE>){ 13 print; 14 } 15 close FILE; 16}
試したこと
######1.サブルーチン内の指定を変更。
Perl
1(変更前) 2sub download_x { 3 system("XXX.vbs $tempname"); 4 my $filename = "$tempname.xls"; 5 print "Content-Type: application/download\n"; 6 print "Content-Disposition: attachment; filename=\"$filename\"\n\n"; 7 open (FILE, "< $filename"); 8 binmode FILE; 9 binmode STDOUT; 10 print while (<FILE>); 11 close(FILE); 12}
######2.vbsの内容を単純なものに修正。
Vbscript
1#XXX.vbsの内容 2MsgBox "今日の昼食は外食でもいいですか?"
######3.vbsの呼び出し文を修正。
perl
1system "XXX.vbs"; 2exec "XXX.vbs"; 3'XXX.vbs';
######4.IE11の設定を追加
- 信頼済みサイトに追加
- 互換表示設定の追加
######5.ドキュメントモードの追加
<meta http-equiv="X-UA-Compatible" content="IE=11">
補足情報(FW/ツールのバージョンなど)
特になし。
回答2件
あなたの回答
tips
プレビュー