3

VBScriptの廃止に向けて動いている最中ですが、既存のライブラリで特定の状況で発生するバグがありましたので報告いたします。

(バグというほどでもないかもしれませんが)

題記の通りExcel操作(上書き保存) v1.0.3において、以下の状況で実行するとExcelのダイアログが抑制されたままになります。

<状況>

ExcelのAファイルを開いていて、かつBファイルを開いていない状態で

Bファイルに対してExcel操作(上書き保存)を実行すると、残ったAファイルはダイアログ(警告)が抑制されます。

スクリプトの内容は以下の画像の通りです。

既存のエクセル(Aファイル)が開いているのでexistingXlsApp.DisplayAlerts = Falseの行は有効なのですが、

Bファイルが開かれていないためworkbookはNothingとなりWScript.quitでスクリプトが終了されてしまいます。

(existingXlsApp.DisplayAlerts = Falseが解除されないままになる)

複数のExcelファイルを同時に開いて作業するのはあまり好ましいことではないのですが、

開発中にノードの挙動を確認したくて部分実行を行ったりすると上記の状況が発生します。

警告が出なくなるだけなのでそこまで実害は無いかもしれませんが、何かしら違和感などを持たれた方は上記を確認してみてください。

(エクセルのアプリケーションに対してDisplayAlerts = Trueを実行するか、一度全てのExcelを閉じてから開き直せば回復します)

ご参考まで。

この質問は解決済みのためクローズされています。
茄子天 質問の投稿
回答とコメントは、会員登録(無料)で閲覧できるようになります。