プロが教えるわが家の防犯対策術!

お世話になります。

最近、必要に迫られてマクロを覚え始まった初心者です。

insert命令で、文字列を追加するとき、追加したときのタブに合わせて
挿入したいのですが、二行目以降が行頭になってしまい、
うまくいきません。

例)
↓下記の三行を追加します。

あいうえお
かきくけこ
さしすせそ

「貼り付け元」
 「タブ」  |(ここから挿入します)

結果
 「タブ」  |あいうえお
かきくけこ
さしすせそ

…となってしまう。

希望

 「タブ」  |あいうえお
 「タブ」  |かきくけこ
 「タブ」  |さしすせそ

…としたいのです。

この方法を教えてください。

よろしくお願いします。

A 回答 (1件)

タブ文字は\tが該当しますので、insertの引数の中に入れてご利用ください。



「1つとは限らない」場合は、「あいうえお」のinsert前に、あらかじめ入力されているタブを取得してしまいます。



$tabs = gettext(0,y,x,y);

insert "あいうえお\n";
insert $tabs;
insert "かきくけこ\n";

こういうイメージです。ただ、問題が1つあり、あいうえおの挿入行の手前にタブ以外の文字があっても、すべて受け入れ、すべての行の初めに挿入してしまうマクロになっているので、タブであることは保証しなくてはいけません。

この回答への補足

回答、ありがとうございます。
説明が足らずに申し訳なかったのですが、
この方法ですと、タブではなく、スペースが
連続して入ってしまうような気がします。

左端からカーソル位置まで、いくつタブが
入っているかなどを求めたりなどはできないでしょうか?

半端な文字数分は、この際無視してしまうとします。


細かな注文で申し訳ありません。

補足日時:2013/06/13 09:40
    • good
    • 0
この回答へのお礼

すみません。ちょっと勘違いしていました。
正しく動作しました。

ありがとうございました。

お礼日時:2013/06/13 11:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!