Tbpgr Blog

Ruby プログラマ tbpgr(てぃーびー) のブログ

選択中の文字列とクリップボードのURLではてな記法のリンクを作成する秀丸マクロ

概要

はてなの記事にリンクを作成する場合、下記の記法を利用することになります。

[url:title=表示されるテキスト]

これを毎回書くのが億劫になってきたので、URLをクリップボードに保存した状態で
リンク設定を行いたいテキストを選択してマクロを実行すればはてな記法のリンクテキストが
作成出来るようにしたいと思います。

動作確認

GoogleのURLをコピーします。
ブラウザを開いて、Alt+Dでアドレス欄にフォーカをあて、Ctrl+Cでコピー。

秀丸Googleという文字列を入力して単語選択します。私はAlt+Shift+Sに単語選択を割り当てているので
Alt+Shift+Sを実行。割当をしていない人は単語をダブルクリック。

今回作成したマクロに割り当てておいたAlt+Shift+Lを実行。
ダイアログが表示されるのでクリップボードにあるURLを貼り付け。

結果は以下のようになります。

上記の内容を記事にしたのが以下のリンクです。

Google

ソースコード

/*************************************************
* filename  insertHatenaLink.mac
*           選択中の文字列とクリップボードのURLではてな記法のリンクを出力
* shortcut     ALT+Shift+L
* create date  2012/05/19
* update date  2012/05/19
*
*************************************************/


// クリップボードからURLの取得
$url = input("リンク先URLを貼り付けてください。", "");

// 選択中のテキストを切り取り
cut;
beginclipboardread;

// 切り取ったテキストを変数に保存
execmacro "" + currentmacrodirectory + "\\" + "getClipBoardString.mac";
$selection = getresultex(-1);

insert "[";
insert $url;
insert ":title=";
insert $selection;
insert "]";

endmacro;

※作成済みのマクロgetClipBoardStringのソースは以下

/*************************************************
* filename    getClipBoardString.mac
*             クリップボードの内容を返却
* shortcut    なし
* create date  2012/01/19
* update date  2012/01/19
*
*************************************************/

$selection = "";
$workselection = getclipboard;
$selection = $selection + $workselection;
while( $workselection != "" ) {
  $workselection = getclipboard;
  $selection = $selection + $workselection;
}

endmacro $selection;