<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://www.haijin-boys.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=211.121.56.35</id>
	<title>MeryWiki - 利用者の投稿記録 [ja]</title>
	<link rel="self" type="application/atom+xml" href="https://www.haijin-boys.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=211.121.56.35"/>
	<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/%E7%89%B9%E5%88%A5:%E6%8A%95%E7%A8%BF%E8%A8%98%E9%8C%B2/211.121.56.35"/>
	<updated>2026-05-05T06:15:05Z</updated>
	<subtitle>利用者の投稿記録</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E3%82%88%E3%81%8F%E4%BD%BF%E3%81%86%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80&amp;diff=582</id>
		<title>よく使うフォルダ</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E3%82%88%E3%81%8F%E4%BD%BF%E3%81%86%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80&amp;diff=582"/>
		<updated>2012-12-21T07:27:30Z</updated>

		<summary type="html">&lt;p&gt;211.121.56.35: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;quickaccess_readme.txt&amp;lt;br&amp;gt;&lt;br /&gt;
// 2012/11/21&amp;lt;br&amp;gt;&lt;br /&gt;
// 2012/12/19&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1.動作&amp;lt;br&amp;gt;&lt;br /&gt;
・ポップアップメニューにあらかじめ登録したフォルダの一覧を表示し、エクスプローラーで開く。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
2.使い方&amp;lt;br&amp;gt;&lt;br /&gt;
・マクロを実行するとこのマクロのあるフォルダに登録用ファイル（quickaccess.txt）が作成されます。&amp;lt;br&amp;gt;&lt;br /&gt;
・登録用ファイルに、フォルダパスとポップアップメニューに表示する内容とを”&amp;gt;&amp;gt;”で区切って、1件1行で書いてください。&amp;lt;br&amp;gt;&lt;br /&gt;
・フォルダパスは絶対パスで、”\”で終わっている必要があります。&amp;lt;br&amp;gt;&lt;br /&gt;
・ポップアップメニューに表示する内容がないときは、フォルダパスを表示します。&amp;lt;br&amp;gt;&lt;br /&gt;
・複数の”&amp;gt;&amp;gt;”があるときは、最後の部分のみが表示されます。つまり、例１と例２は同じ表示になります。&amp;lt;br&amp;gt;&lt;br /&gt;
（例１）C:\Program Files (x86)\Mery\&amp;gt;&amp;gt;Meryのフォルダ&amp;lt;br&amp;gt;&lt;br /&gt;
（例２）C:\Program Files (x86)\Mery\&amp;gt;&amp;gt;ほげ&amp;gt;&amp;gt;ほげ&amp;gt;&amp;gt;Meryのフォルダ&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
3.その他&amp;lt;br&amp;gt;&lt;br /&gt;
・Mery 2.0.11.3997、Windows7 x64 Home sp1 で作成しました。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[更新履歴]&amp;lt;br&amp;gt;&lt;br /&gt;
2012/12/19&amp;lt;br&amp;gt;&lt;br /&gt;
・すでにフォルダが開かれているときは、新しく開かずにアクティブになるようにしました。&amp;lt;br&amp;gt;&lt;br /&gt;
　→ tasklist の結果を保存するため、quickaccess.logというファイルを作成します。 &amp;lt;br&amp;gt;&lt;br /&gt;
　→ ウィンドウタイトルが得られないケースがあるので不完全ですが……。&amp;lt;br&amp;gt;&lt;br /&gt;
・関数の入れ替え・追加・変更。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// quickaccess.js&lt;br /&gt;
// 2012/11/21&lt;br /&gt;
// 2012/12/19&lt;br /&gt;
&lt;br /&gt;
var file_FullName = changeExt( ScriptFullName, &amp;quot;txt&amp;quot; );&lt;br /&gt;
var file_Name = file_FullName.split( &amp;quot;\\&amp;quot; ).pop();&lt;br /&gt;
var WshShell = new ActiveXObject( &amp;quot;WScript.Shell&amp;quot; );&lt;br /&gt;
var objFso = new ActiveXObject( &amp;quot;Scripting.FileSystemObject&amp;quot; );&lt;br /&gt;
&lt;br /&gt;
// ファイルを開く。&lt;br /&gt;
// 第２引数：オープンモード。&lt;br /&gt;
// 第３引数：ファイルが存在しなかったとき。&lt;br /&gt;
// 第４引数：開くファイルの形式。&lt;br /&gt;
//   TRISTATE_TRUE：Unicode&lt;br /&gt;
//   TRISTATE_FALSE：ASCII&lt;br /&gt;
//   TRISTATE_USEDEFAULT：システムデフォルト&lt;br /&gt;
var openMode = { FORREADING: 1, FORWRITING: 2, FORAPPENDING: 8 };&lt;br /&gt;
var create = { YES: true, NO: false }&lt;br /&gt;
var format = { TRISTATE_TRUE: -1, TRISTATE_FALSE: 0, TRISTATE_USEDEFAULT: -2 };&lt;br /&gt;
var objFile = objFso.OpenTextFile( file_FullName, openMode.FORREADING, create.YES, format.TRISTATE_FALSE );&lt;br /&gt;
&lt;br /&gt;
// 一行ずつ読み込んで配列に。&lt;br /&gt;
var folderAry = [];&lt;br /&gt;
while ( !objFile.AtEndOfStream ){ folderAry.push( objFile.ReadLine() ) }&lt;br /&gt;
&lt;br /&gt;
// 読み終わったファイルを閉じる。&lt;br /&gt;
objFile.Close();&lt;br /&gt;
&lt;br /&gt;
var offset = 10; // 固定メニュー数の上限。&lt;br /&gt;
var reg = new RegExp( &amp;quot;^[a-zA-Z]:\\\\(.+\\\\)*$&amp;quot; ); // フォルダを表す正規表現のつもり。&lt;br /&gt;
var menu = CreatePopupMenu();&lt;br /&gt;
var submenu = CreatePopupMenu();&lt;br /&gt;
for ( var i in folderAry ){ &lt;br /&gt;
	// “&amp;gt;&amp;gt;”でフォルダパスと表示名に分離。&lt;br /&gt;
	var item = folderAry[ i ].split( &amp;quot;&amp;gt;&amp;gt;&amp;quot; );&lt;br /&gt;
	item_0 = item[ 0 ];&lt;br /&gt;
	item_1 = item.slice ( -1 );&lt;br /&gt;
	if ( reg.test( item_0 ) ){ &lt;br /&gt;
		menu.Add( item_1, +i + offset, 0 );&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
menu.Add( &amp;quot;-------&amp;quot;, 0, meMenuSeparator )&lt;br /&gt;
menu.Add( &amp;quot;このドキュメントのフォルダ&amp;quot;, 1, 0 )&lt;br /&gt;
menu.Add( &amp;quot;ユーザーフォルダ&amp;quot;, 2, 0 )&lt;br /&gt;
menu.Add( &amp;quot;-------&amp;quot;, 0, meMenuSeparator )&lt;br /&gt;
menu.AddPopup( &amp;quot;設定&amp;quot;, submenu );&lt;br /&gt;
	submenu.Add( &amp;quot;フォルダの追加&amp;quot;, 3, 0 );&lt;br /&gt;
	submenu.Add( file_Name + &amp;quot;を開く&amp;quot;, 4, 0 );&lt;br /&gt;
var r = menu.Track( mePosMouse );&lt;br /&gt;
&lt;br /&gt;
switch( r ){ &lt;br /&gt;
	case 0:	break;&lt;br /&gt;
	case 1:&lt;br /&gt;
		WshShell.Run( &#039;explorer &amp;quot;&#039; + Document.path + &#039;&amp;quot;&#039; );&lt;br /&gt;
		break;&lt;br /&gt;
	case 2:&lt;br /&gt;
		var folder_user = WshShell.SpecialFolders( &amp;quot;Desktop&amp;quot; ).replace( &amp;quot;Desktop&amp;quot;,&amp;quot;&amp;quot; )&lt;br /&gt;
		WshShell.Run( &#039;explorer &amp;quot;&#039; + folder_user + &#039;&amp;quot;&#039; );&lt;br /&gt;
		break;&lt;br /&gt;
	case 3:&lt;br /&gt;
		path = ( document.path == &amp;quot;&amp;quot; )? getPath( Editor.FullName ): document.path;&lt;br /&gt;
		var input = prompt( &amp;quot;フォルダパス（&amp;gt;&amp;gt;表示名）を入力してください。&amp;quot;, path + &amp;quot;&amp;gt;&amp;gt;&amp;quot; )&lt;br /&gt;
		if ( input != &amp;quot;&amp;quot; ){ &lt;br /&gt;
			var objFile = objFso.OpenTextFile( file_FullName, FORAPPENDING, true, TRISTATE_FALSE );&lt;br /&gt;
			objFile.WriteLine( input );&lt;br /&gt;
			objFile.close();&lt;br /&gt;
		 }&lt;br /&gt;
		break;&lt;br /&gt;
	case 4:&lt;br /&gt;
		if ( !isOpened( file_FullName ) ){ &lt;br /&gt;
			Editor.NewFile();&lt;br /&gt;
			Editor.Documents.Item( editor.Documents.Count-1 ).Activate();&lt;br /&gt;
		 }&lt;br /&gt;
		Editor.OpenFile( file_FullName );&lt;br /&gt;
		break;&lt;br /&gt;
	default :&lt;br /&gt;
		if ( r &amp;gt;= offset ){&lt;br /&gt;
			var folderName = folderAry[ r-offset ].split( &amp;quot;&amp;gt;&amp;quot; )[ 0 ];&lt;br /&gt;
			var pid = isFolderOpened( folderName );&lt;br /&gt;
			if ( pid == -1 ){&lt;br /&gt;
				WshShell.Run( &#039;explorer &amp;quot;&#039; + folderName + &#039;&amp;quot;&#039; )&lt;br /&gt;
			}else{&lt;br /&gt;
				WshShell.AppActivate( pid )&lt;br /&gt;
			};&lt;br /&gt;
		}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
objFile = null;&lt;br /&gt;
objFso = null;&lt;br /&gt;
WshShell = null;&lt;br /&gt;
&lt;br /&gt;
// “filefullname”をエディタで開いていれば“true”。&lt;br /&gt;
function isOpened( filefullname ){ &lt;br /&gt;
	var result = false;&lt;br /&gt;
	for ( var i = Editor.Documents.Count-1; i&amp;gt;=0; i-- ){ &lt;br /&gt;
		result = ( result || Editor.Documents.Item( i ).FullName.toUpperCase() == filefullname.toUpperCase() );&lt;br /&gt;
	}&lt;br /&gt;
	return result;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// ファイルのパス部分を返す。&lt;br /&gt;
function getPath( file_FullPath ){ &lt;br /&gt;
	var ary = file_FullPath.split( &amp;quot;\\&amp;quot; );&lt;br /&gt;
	ary.pop();&lt;br /&gt;
	return ary.join( &amp;quot;\\&amp;quot; ) + &amp;quot;\\&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function isFolderOpened( str ){&lt;br /&gt;
	var stdout_log = changeExt( ScriptFullName, &amp;quot;log&amp;quot; );&lt;br /&gt;
	var cmd = &#039;cmd /c tasklist /fi &amp;quot;imagename eq explorer.exe&amp;quot; /fo csv /v &amp;gt; &amp;quot;&#039; + stdout_log + &#039;&amp;quot;&#039;;&lt;br /&gt;
	var WshShell = new ActiveXObject( &amp;quot;WScript.Shell&amp;quot; );&lt;br /&gt;
	var windowStyle = { HIDE: 0, NORMALFOCUS: 1 };&lt;br /&gt;
	WshShell.Run( cmd, windowStyle.HIDE, true );&lt;br /&gt;
	WshShell = null;&lt;br /&gt;
&lt;br /&gt;
	var objFso = new ActiveXObject( &amp;quot;Scripting.FileSystemObject&amp;quot; );&lt;br /&gt;
	if ( !objFso.FileExists( stdout_log ) ){ Quit() }&lt;br /&gt;
	var objFile = objFso.OpenTextFile( stdout_log, openMode.FORREADING, create.NO, format.TRISTATE_FALSE );&lt;br /&gt;
	var ary = [];&lt;br /&gt;
	while ( !objFile.AtEndOfStream ){ ary.push( objFile.ReadLine() ) }&lt;br /&gt;
	objFile.Close();&lt;br /&gt;
	objFile = null;&lt;br /&gt;
	objFso = null;&lt;br /&gt;
&lt;br /&gt;
	for ( var i = 0; i &amp;lt; ary.length; i++ ){&lt;br /&gt;
		var item = ary[ i ].split( &amp;quot;,&amp;quot; ).pop().replace( /\&amp;quot;/ig, &amp;quot;&amp;quot; ) + &amp;quot;\\&amp;quot;;&lt;br /&gt;
		if ( item.toUpperCase() == str.toUpperCase() ){ return ary[ i ].split( &amp;quot;,&amp;quot; )[ 1 ].replace( /\&amp;quot;/ig, &amp;quot;&amp;quot; ) }&lt;br /&gt;
	}&lt;br /&gt;
	return -1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// 拡張子の変更&lt;br /&gt;
function changeExt( filename, ext ){&lt;br /&gt;
	var s = filename.split( &amp;quot;\\&amp;quot; );&lt;br /&gt;
	var f = s.pop().split( &amp;quot;.&amp;quot; );&lt;br /&gt;
	if ( f.length &amp;gt;= 2 ){&lt;br /&gt;
		f.splice( -1, 1, ext );&lt;br /&gt;
	}else{&lt;br /&gt;
		f.push( ext );&lt;br /&gt;
	}&lt;br /&gt;
	s.push( f.join( &amp;quot;.&amp;quot; ) );&lt;br /&gt;
	return s.join( &amp;quot;\\&amp;quot; );&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>211.121.56.35</name></author>
	</entry>
</feed>