[スレッド全体]

2007/4/3 (火) 03:19:11  
[367] RE: サクラエディタのマクロでこういうことしたいのですが教えてください。

> メーラーにその機能がないので、一旦サクラエディタを起動し、引用したい文章を貼り付け、以下のPPAマクロを実行して、できあがった文字列をコピーしてメーラーで貼り付け使用してます。

その程度なら PPA でなくキーボードマクロで十分だと思う。
というか、変数も何も無いし、わざわざ PPA 使う意味無いんじゃ。

どうせなら、マクロの先頭で貼り付けして、
最後で全文を範囲選択してコピーするあたりまでやっちゃえば?

1.メーラーとやらで処理対象のテキストを範囲選択してコピー
2.新規サクラエディタのウィンドウを開く。
3.下記マクロを実行する。(勝手にテキスト処理されて最後にエディタウィンドウが閉じる)
4.メーラーとやらで貼り付け実行

----- なんとか.mac -----
//キーボードマクロのファイル
S_Paste(0);        // 貼り付け

S_ReplaceAll('^', '> ', 148); // 選択範囲の行頭を > に置換する。何も選択されていない場合、全テキストが処理される。

S_SelectAll(0);        // すべて選択
S_Copy(0);        // コピー

S_Undo(0);        // 元に戻す
S_Undo(0);        // 元に戻す
S_WinClose();        // ウィンドウを閉じる
--------------------

> サクラエディタではエディタオープン時の自動実行マクロか何かで
これは無理だから。自動実行の類は無いから。

でも、一番楽なのはサクラエディタじゃなくて perl か何かを使用する事だと思う。

Active Perl でもインストールしておいて、下記(実質内容4行)の
スクリプトを用意しておけば、後はそのファイルをクリックして
実行するだけです。

1.メーラーとやらで処理対象のテキストを範囲選択してコピー
2.下記、スクリプトファイルをマウスで突くだけ。
 # あるいはコマンド「perl C:\〜〜\test.pl」を実行する。
3.メーラーとやらで貼り付け実行

----- test.pl -----
#!perl

use Win32::Clipboard;               # Win32::Clipboard を使うわよ、の宣言
$data = Win32::Clipboard::Get();    # $data にクリップボードの内容を格納
$data =~ s/^/> /mgo;                # $data の各行の行頭に "> " を付ける
Win32::Clipboard::Set($data);       # $data の内容ををクリップボードにセット
--------------------
すい
INCM1.23c

[▼次のスレッド]
INCM/CMT
Cyclamen v3.81