| 
			|  | 
 h-tom です。
 
 >どんな動作イメージなのかちょっと判らないですが、差し支えなかったら公開し
 >ていただけると幸いです。
 マクロ生成版vbsです。テンポラリフォルダにマクロを生成します。
 wscript.exe(or cscript.exe) アカウント名 フォルダ名
 と指定してください。フォルダ名はなくても可能。
 //-------------------------
 Option Explicit
 Dim WshArgs
 Dim WshShell
 Dim WshFso
 Dim Acount
 Dim Folder
 Dim MacroFile
 Dim MacroName
 Dim HidemaruMail
 
 Acount = ""
 Folder = ""
 
 '引数の取得 1個:アカウントのみ 2個:アカウント、フォルダ 3個以上は無視
 Set WshArgs = WScript.Arguments
 if WshArgs.Count = 1 then
 Acount = WshArgs(0)
 elseif WshArgs.Count > 1 then
 Acount = WshArgs(0)
 folder = WshArgs(1)
 end if
 Set WshArgs = Nothing
 'フォルダ名はマクロにする都合上、"\"-->"\\"に変換
 if instr(folder, "\\") = 0 and instr(folder, "\") > 0 then
 folder = Replace(folder, "\", "\\")
 end if
 
 '秀丸メールの場所を取得
 Set Wshshell = WScript.CreateObject("WScript.Shell")
 HidemaruMail = WshShell.RegRead("HKCU\Software\Hidemaruo\TuruKame\Config\Tur
 uKameDir") & "TuruKame.exe"
 
 'アカウント設定があれば、マクロを作成し起動。
 if Acount <> "" then
 'テンポラリにマクロを作成
 MacroName = WshShell.ExpandEnvironmentStrings("%TMP%") & "\OpenFolder.mac"
 Set WshFso = CreateObject("Scripting.FileSystemObject")
 Set MacroFile = WshFso.OpenTextFile(MacroName, 2, True)
 MacroFile.WriteLine "loaddll ""tkinfo.dll"";"
 MacroFile.WriteLine "#n = dllfunc(""SelectFolder"", """ & Acount & """,
 """ & folder & """);"
 MacroFile.WriteLine "endmacro;"
 MacroFile.Close
 Set MacroFile = Nothing
 Set WshFso = Nothing
 '秀丸メール起動
 Wshshell.run HidemaruMail & " /x " & MacroName
 end if
 Set Wshshell = Nothing
 WScript.Quit
 //-------------------------
 
 iniファイルを作るってのは、各種エスケープ(WSH、秀丸マクロ)が面倒
 だからです。フォルダの指定で、"\\"に変換しなくてすむし。
 
 ファイルの出力部を
 MacroName = WshShell.ExpandEnvironmentStrings("%TMP%") & "\OpenFolder.ini"
 
 MacroFile.WriteLine "[history]"
 MacroFile.WriteLine "CurrentAccount=" & Acount
 MacroFile.WriteLine "CurrentFolder=" & folder
 
 にして、以下のマクロを実行するようにすればいいと思いますが、実行して
 ないのでうまくいくかは不明。
 
 //起動時に指定するマクロ
 loaddll "tkinfo.dll";
 $ini = getenv("TMP") + "\\OpenFolder.ini";
 if(existfile($ini)){
 $CurrentFolder = getinistr($ini, "history", "CurrentFolder");
 $CurrentAccount = getinistr($ini, "history", "CurrentAccount");
 if($CurrentAccount != ""){
 #n = dllfunc("SelectFolder", $CurrentAccount, $CurrentFolder);
 }
 }
 //-------------------------
 
 
 | 
 |