$entDir = "X:\\hogehoge\\blog\\put_entries_here"; #posX = x; #posY = y; $srBuf = searchbuffer; #srOpt = searchoption; disabledraw; escape; moveto 0, 0; replaceallfast "&", "&"; replaceallfast "\"", """; replaceallfast "<", "<"; replaceallfast ">", ">"; replaceallfast "'", "'"; movetolineno 1, 2; #slNo = lineno; gofileend; #elNo = lineno; #clNo = #slNo; while(#clNo < #elNo){ movetolineno 1, #clNo; if(code == 0x09){ delete; insert "<blockquote>\n<p>"; golineend2; insert "</p>\n</blockquote>"; #clNo = #clNo + 2; #elNo = #elNo + 2; } else if(code == 0x23){ delete; insert "<div class=\"image\"><img src=\""; searchdown "\\t", regular; delete; insert "\" alt=\""; searchdown "\\t", regular; delete; insert "\" width=\""; searchdown "\\t", regular; delete; insert "\" height=\""; golineend2; insert "\" /></div>"; } else{ insert "<p class=\"text\">"; golineend2; insert "</p>"; } #clNo = #clNo + 1; } moveto #posX, #posY; setsearch $srBuf, #srOpt; enabledraw; loaddll hidemarudir + "\\DengakuDLL.dll"; CategoryMenu: #r = dllfunc("ENUMDIR", $entDir + "\\*.*"); #i = 0; while(1){ $dir = dllfuncstr("FINDNEXT"); if($dir == ""){ break; } else if($dir == "." || $dir == ".."){ continue; } $categories[#i] = $dir; #i = #i + 1; } $categories[#i] = "新しいカテゴリを作成..."; mousemenuarray $categories, #i + 1; if(result == #i + 1){ call InputCategoryName; $catName = $$return; } else if(result != 0){ $catName = $categories[result - 1]; } else{ goto CategoryMenu; } $msgBody = "エントリーの名前を指定してください。"; InputEntryName: $entName = input($msgBody, ""); if($entName == ""){ goto InputEntryName; } // message $entDir + "\\" + $catName + "\\" + $entName + ".txt"; saveas $entDir + "\\" + $catName + "\\" + $entName + ".txt", utf8; endmacro; InputCategoryName: $$temp = input("カテゴリの名前を指定してください。", ""); if($$temp == ""){ goto InputCategoryName; } if(!dllfunc("MKDIR", "/p " + $entDir + "\\" + $$temp)){ goto InputCategoryName; } return $$temp;
こんな感じです。いのうさん。マクロ起動すると、実体参照化→マークアップ(ちょっとした構文あり)→カテゴリ一覧のメニューを表示→エントリ名を決めるInputBox表示→UTF-8で保存、とやってくれます。確認したらバッチファイルでFTPしてます。
ちょっとした構文は、行頭に水平タブ入れておくと引用マークアップするのと、
#test.png<TAB>Test<TAB>100<TAB>100
を、
<div class="image">
<img src="test.png" alt="Test" width="100" height="100" />
</div>
とマークアップしてくれるものしか作ってない。まぁ、どうにでも拡張できると思うんですが。