通常だと、ダイアログが IE11 の後ろに隠れてしまうので、ダイアログを表示させる間、Excel 本体を表示させています(本体にアクセスはできません)。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.0.1/css/bootstrap.min.css">
<script>
var excel = null;
$(function(){
// Excel でファイルを開くダイアログ
$("#open_file_dialog").on("click", function(){
// Excel をロード
excel = new ActiveXObject("Excel.Application");
// 表示
excel.Visible = true;
// 最小化して元のサイズと位置 : GetSaveAsFilename を前面に出す為
// WScript.Shell の Run と同じ 2 と 1 が使える
excel.WindowState = 2 // 最小化
excel.WindowState = 1 // 元のサイズと位置
excel.DisplayAlerts = false;
// 一つのファイルを開く
// https://docs.microsoft.com/ja-jp/office/vba/api/excel.application.getopenfilename
var filePath = excel.GetOpenFilename("全て,*.*,CSV,*.csv", 1,"ファイルの選択",null, false );
// 非表示
excel.Visible = false;
// 未選択の場合
if( filePath === false ) {
alert("ファイルの参照選択がキャンセルされました")
}
// 選択の場合
else {
alert(filePath + " を選択しました");
}
// Excel を終了
excel.Quit();
excel = null;
// Excel 解放
var idTmr = window.setTimeout("Cleanup();",1);
});
});
// ******************************
// Excel 解放
// ******************************
function Cleanup() {
CollectGarbage();
}
</script>
</head>
<body>
<div id="head" class="m-5">
<input type="button" id="open_file_dialog" value="ファイルを開く">
</div>
</body>
</html>
GitHub










そもそも、IE8 以前に開発したイントラネットシステムを保守しつづける為にいろいろするわけですが、たぶんそのテストに使って削除するのを忘れてました。
自宅で処理するのは、ほぼ Google Chrome なので、影響も無く困らないから気づくはずも無く。でも、WEB アプリのテンプレートを作っていて、『お、IE もチェック』とページを表示したら、とんでもない事態に。
とにかく IE だけが動作しないので、なんとなく jQuery のバージョンを 1.9.1 に下げたらなんと・・・
ページを表示するだけで固まり、タスクマネージャーから停止させてもゾンビのように蘇る IE。再起動したり、開発者ツール開けたりしても、想像もつかないエラーばっかり。
で、以前動作確認した環境で使用した、x-ua-compatible: IE=8 のヘッダー入れると動作する。
・・・・????
さらに、x-ua-compatible: IE=11 としても動作する。
あ。
ここで、やっと互換表示設定の存在を思い出し、あけてみたら localhost が居座っていたという。
『災難の記録』
どうも原因が今イチ特定できませんが、『お気に入りバー』へ直接ドロップすると問題ありません。
▼ こういうのは出ますが
※というか、もういい加減に『お気に入りバー』って呼ぶのやめろよ……
関連する記事
※ エキスパートモードで表示しています
アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります


















