マクロに関するFAQ
FAQというか、個人的な覚書きをまとめたものです。m(__)m
- Q:作成したマクロはどこに保存されていますか?
- インストールしたフォルダ内にある「Macro」フォルダに保存されています。
- Q:マクロで条件分岐はできますか?
- 「IfStringFound」や「IfStringNotFound」で文字列検索の結果を判断し分岐させることができます。
参照:マクロサンプル
→ ページレイアウト切り替え
- Q:マクロから別のマクロを呼び出すことははできますか?
- 「CallMacro」で別のマクロを呼出すことができます。
- Q:マクロを中断したいのですが?
- EdTex は、残念ながらまだサポートされていないようです。EdMaxシェアウェア版(Ver2.76.2 以降)では「Shift+Escape」キーで、マクロの実行を中断できます。(EdMaxフリー版 Ver2.84.1F以降未確認)
- Q:マクロで文字列の置換を行うと選択状態にかかわらず、すべて置換されてしまうのですが?
- 《正規表現などを使用しない単純な置換の場合》
「文字列の置換」のかわりに、編集→変換→「自由変換」を使用すれば選択範囲内のみを置換できます。(自由変換では範囲選択が解除されません。)
- 《「文字列の置換」で行なう場合》
マクロで文字列の置換を行った場合、選択範囲内だけでなく、すべてが対象となります。範囲選択している部分をコピーし、新規メッセージ(新規文書)に貼り付けてから、文字列の置換を行うことで回避できます。
参照:雛形マクロ
→ 新規メッセージ上で加工編集
- Q:行頭に文字列を挿入すると、折り返し行の行頭に挿入されてしまいます。改行マークまでを1行として挿入をしたいのですが?
- クリップボードで挿入を行うことにより、折り返しに影響されることなく改行単位で行頭に文字列を挿入できます。
- 挿入対象部をコピー
- 編集(E)→挿入(I)→文字列(S)の「クリップボードテキストの行頭」で文字列を挿入
- 「貼り付け」もしくは「選択状態で張り付け」
参照:初めてのマクロ作成
→ クリップボード内のTextに引用符をつけ貼り付け
- Q:「CallMacro」が含まれる場合、「IfStringFound」や「IfStringNotFound」で、スキップする命令数はどうなるのでしょうか?
- 「CallMacro」は呼び出されるマクロの命令数に関わりなく、1命令として数えます。
参照:マクロサンプル
→ 書式選択クエリー
- Q:「IfStringFound」、「IfStringNotFound」の count数にマイナスを指定した場合、どうなりますか?
- count数は評価が真の場合にskipするコマンド数を指定します。マイナスの場合はskipではなく指定count数分、前に戻ります。(マイナス指定は EdMax Ver2.77.1 よりサポートされています。)
参照:マクロサンプル
→ 行末キーワードを判断し行削除
- Q:IfStringFound、IfStringNotFound は以前の文字列検索の結果を判断しますが、「CallMacro」内の検索結果は影響しますか?
- 影響します。「CallMacro」に関わり無く「以前の」文字列検索の結果で判断されます。
参照:マクロサンプル
→ 指定フォルダの全MSGをText出力
▲Top
- Q:新規メッセージを開き編集処理を行いたいのですが、定型本文や署名が付加されてしまいます。
- 新規メッセージを開いたら、「すべてを選択」してから編集対象を「貼り付け」もしくは「選択状態で張り付け」します。
参照:雛形マクロ
→ 新規メッセージ上で加工編集
- Q:メールを移動するマクロを作成したいのですが?
- EdMaxのマクロではメールを移動するコマンドはサポートされていません。しかし「振り分け」(DoDist)がサポートされているので、事前に振り分け対象となるようにメールを編集しておくことにより移動が可能です。
参照:マクロサンプル
→ メモ帳へ保存し振り分け
- Q:起動時に、マクロを自動再生することはできますか?
- 設定(S)→メーラー設定(M)の「操作」で自動再生するマクロを指定できます。
参照:マクロ再生
→ 起動時にマクロ再生
- Q:返信と同時にマクロを起動し編集を行いたいのですが?
- 返信ヘッダに $r[マクロ名.mac] と指定することにより、指定したマクロを起動することができます。
参照:マクロ再生
→ 特殊文字を使用しマクロ再生
→ ニックネーム変換
- Q:マクロを保存しようとしたら「拡張命令を含むため、保存できません。元のマクロファイルを複写する等してください。」と表示され保存できません。
- マクロに「IfStringFound」、「IfStringNotFound」、「CallMacro」の拡張命令が含まれている場合は、「操作の保存」から保存することはできません。別名で保存したい場合はエクスプローラなどで複写し名前の変更を行います。
- Q:マクロ掲示版やこのサイトのマクロサンプルを複写したのですが、「操作の呼び出し」で表示されません。
- テキスト形式のマクロをweb等から複写する場合は下記手順で行います。
- マクロをコピー。
- EdMaxで新規メッセ-ジを開きコピーしたマクロを貼り付けます。
- ツール(T)→マクロ(M)→メッセージから保存(M)
文字列選択している場合はその部分が。していない場合は、「// Start of EdMax Macro」〜「// End of EdMax Macro」までがマクロとして認識されます。
文字列選択も「// Start of EdMax Macro」〜「// End of EdMax Macro」もない場合は、メッセージ全体が保存されます。
- EdMax以外のエディタで保存する場合は下記手順となります。
- マクロをコピー。
- EdMaxもしくはメモ帳等のエディタに貼り付け
- EdMaxインストールフォルダ内の「macro」フォルダに保存します。このとき拡張子は「.mac」とします。
- Q:EdMaxでは新規メッセージ、返信、転送時に$r[マクロ名.mac]を使用して本文編集を行ってもうまく動作するが、外部エディタを使用するとマクロ編集前の状態になる。その上外部エディタの編集結果もEdMax側に反映されない。
- これは
- EdMaxから外部エディタへメッセージを引き渡す。
- マクロ起動(本文編集処理)
という流れで処理が行われているのではないかと思われます(推測)。また引渡し後にEdMax側で編集を行ってしまうため外部エディタの編集結果も反映されないということになってしまいます。(HELP:キーワード=「メーラ設定」→編集 内の「外部エディタ」を参照ください)
▲Top