WSHを使って、Windowsの特殊フォルダのパスを返すマクロです。
引数に指定できる文字列は以下になります。
AllUsersDesktop AllUsersStartMenu AllUsersPrograms AllUsersStartup Desktop デスクトップ Favorites お気に入り Fonts MyDocuments マイドキュメント NetHood PrintHood Programs Recent SendTo StartMenu Startup Templates
execmacro文を使用し、他のマクロからこのマクロを呼び出し、戻り値を "getresultex(-1);"で、取得してください。 正常なら、指定されたパスを、エラーの場合は、""を返します。 複数の引数を指定された場合は、各パスを "\n" でつなげた文字列を返します。
マクロフォルダに、「SpecialFolders.mac」がある場合の例です。
execmacro "SpecialFolders.mac", "デスクトップ", "お気に入り"; $Folders = getresultex(-1);
呼び出すマクロと同じ場所に、「SpecialFolders.mac」がある場合は、
execmacro currentmacrodirectory + "\\SpecialFolders.mac", "デスクトップ", "お気に入り";
とした方が、確実です。
このマクロを、マクロの実行ダイアログから単独で実行しても、何も実行しません。 (引数がセットされていないので、エラーで終了します。)
WSHの"SpecialFolders"オブジェクトにある"Itemsメソッドを、秀丸エディタのCOM機能を使って呼び出しているだけです。 execmacro文経由で再利用しやすいように、ラップしているだけなので、 WHSがわかるなら、直接記述したほうが、いいかもしれません。