自動更新マクロ(秀丸)
昨日は編集中のテキストファイルをメールソフトに投げる、という形で秀丸からのブログ更新を考えましたが、今日は直接秀丸から更新するマクロを作ってみました。
2008/07/24
設定部を上に持ってくるなど少し変更しました。
このマクロで使用するツールは秀丸エディタと、コマンドラインメーラーです。
コマンドラインメーラーは幾つかありますが、POP before SMTP、 SMTP認証すら可能なsmailを今回は使用させて頂きました。
smailは設定も比較的楽な上高機能、パスワードの暗号化も可能なため一押しです。
smailは以下のサイトでダウンロードすることができます。
Picolix http://www.picolix.jp/
このマクロの動作は実に単純で、以下の4つの動きでできています。
1.機種依存文字を置換する(外部マクロ)
・・・丸の中に1などの文字化けの原因となる機種依存文字を変換します。私は秀丸マクロライブラリから「機種依存文字チェックマクロ」Ver2.0を使用させていただいています。
このマクロは高機能ゆえに機種依存文字のリストアップや、どう置換するかの確認などが入るのですがそういった機能をオフにしたものを外部マクロとして使用しています。
この項はなくても特に問題はありません。(ただし機種依存文字には気をつける必要がありますが)
2.最初の一行目の文字列を二文字目から取得する
・・・はてなは見出しとして米印を使うため、基本的に一文字目はアルタリスクになります。これをそのままファイル名にはできない(保存できない)ので、それを抜かすために二文字目からにしています。
gettext(0,0, と、 1を0に変えれば一文字目から保存するように出来ます。
意外と名前をつけて保存、は面倒くさいので、「一行目をファイル名として保存」というマクロを私は愛用しています。
3.バックアップとして保存する場所を指定し、2.で取得した文字列.txtとして保存
4.smail.exeの場所を指定し、送信
・・・前もってsmailの設定を終わらせておけば、以下のマクロ内で必要事項を変えるだけで送信することが可能です。
ちなみに、私はタイトルを使わないので、メールが無題で送信になっています。
必要な方はいじってみてください。
文章の一行目をタイトルにしたい場合は+"-s"+$filenameを$sendmail=・・・・・・+ $adressの後ろにくっつければ良いです。
●自動更新マクロ
///////////////////////////// 設定 /////////////////////////////
//あなたのアドレス
$youradress="youradress@abc.com";
//smtpサーバー
$smtpserver="smtp.smtpserver.com";
//送信先アドレス
$adress="abc@abc.com";
//パス指定は
//smail.exeのパス
$smailpath="C:\\smail\\smail.exe";
//バックアップとして保存する場所のパス
$savedir="C:\\memo\\";
//以上設定終了
//////////////////////////////////////////////////////////////////
//1.投稿前に機種依存文字を置換するマクロなどを実行する
//別に無理にせずとも大丈夫です、ただ文字化けにはご注意を
//2.最初の段の文字列を2文字目から取得
gofiletop;
golineend;
#lineendx=x;
#lineendy=y;
$filename=gettext(1,0,#lineendx,#lineendy);
//3.バックアップ
$filepath=$savedir + $filename + ".txt";
saveas $filepath;
//4.送信
$sendmail ="\""+ $smailpath +"\""+ " -F" +"\"" +$filepath+"\"" + " -f\"" +$youradress +"\" -h"+$smtpserver+" " + $adress ;
run $sendmail;
endmacro;