1 #title = "開c"
  2 #tooltip = "クリップボードか選択文字列からファイルを開く"
  3 #include "lib\sgc4jsee.jsee"
  4 
  5 /**
  6  * @fileOverview
  7  * クリップボードデータを基にファイルを開きます。<br />
  8  * ファイルダイアログを表示してから開くより、高速で開けるようになります。
  9  * <p>
 10  * 改行を含む複数のファイルパスを一気に開くことが出来ます。
 11  * </p>
 12  * 
 13  * @author gecca from 雪月花 (http://setsugecca.org/)
 14  * @version 1.00 for EmEditor v10.0
 15  */
 16 
 17 (function() {
 18 	var clip = clipboardData.getData("Text");
 19 	if(!clip) {
 20 		alert("クリップボードからデータを取得できませんでした。");
 21 		return;
 22 	}
 23 	
 24 	var filePaths = clip.split(/\r\n|\r|\n/);
 25 	if(filePaths.length == 0) {
 26 		alert("改行のみが指定されました。");
 27 		return;
 28 	}
 29 	if(filePaths.length > 9) {
 30 		if(!confirm("10行以上が指定されています。\n各行をファイルパスとして開いてよろしいですか?")) {
 31 			return;
 32 		}
 33 	}
 34 	
 35 	var ignoredFilePaths = [];
 36 	for(var i=0;i<filePaths.length;i++) {
 37 		// Trim
 38 		filePaths[i] = filePaths[i].replace(/^\s*(.*?)\s*$/, "$1");
 39 		
 40 		// ファイル存在チェック
 41 		if(!JseeUtil.fso().FileExists(filePaths[i])) {
 42 			ignoredFilePaths.push(filePaths[i]);
 43 		} else {
 44 			// ファイルオープン
 45 			JseeUtil.openFile(filePaths[i]);
 46 		}
 47 	}
 48 	
 49 	if(ignoredFilePaths.length > 0) {
 50 		alert("以下の文字列はファイルパスとして存在しませんでした。\n\n" + ignoredFilePaths.join("\n"));
 51 	}
 52 })();
 53