SQLの窓 イラストAC フリー素材

2019年08月17日

IE11 : JScript : Excel.Application でファイルを開くダイアログを使用する

通常だと、ダイアログが IE11 の後ろに隠れてしまうので、Excel の表示位置をデスクトップの外に置いて表示状態にし、一旦最大化して(この時点で手前に出る)から元に戻しています。

<!DOCTYPE html>
<html>
<head>
<meta content="width=device-width initial-scale=1.0 minimum-scale=1.0 maximum-scale=1.0 user-scalable=no" name="viewport">
<meta charset="utf-8">

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.3.1/css/bootstrap.css">

<link rel="stylesheet" href="https://lightbox.sakura.ne.jp/demo/two-section.css">
<script>
var save = { width: null, height: null, top: null, left: null };
var excel = null;

$(function(){

	// Excel でファイルを開くダイアログ	
	$("#open_file_dialog").on("click", function(){
	
		// Excel をロード
		excel = new ActiveXObject("Excel.Application");
		
		save.width = excel.width;
		save.height = excel.height;
		save.top = excel.top;
		save.left = excel.left;
		
		excel.top = -200;	// デスクトップの外に隠す
		excel.left = -200;
		excel.width = 100;
		excel.height = 100;
		excel.Visible = true;
		excel.WindowState = 2	// Minimize
		excel.WindowState = 1	// Maximize

		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;
		// デスクトップの中に戻す
		excel.width = save.width;
		excel.height = save.height;
		excel.top = save.top;
		excel.left = save.left;

		// 未選択の場合
		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">
		<input type="button" id="open_file_dialog" value="ファイルを開く">
	</div>

	<div id="extend">

	</div>

</body>
</html>



【IEの最新記事】
posted by at 2019-08-17 15:48 | IE | このブログの読者になる | 更新情報をチェックする