$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>
とマークアップしてくれるものしか作ってない。まぁ、どうにでも拡張できると思うんですが。