秀丸エディタのマクロ機能で文字列の後に文字を挿入する方法

このQ&Aのポイント
  • 秀丸エディタのマクロ機能を使って、XMLファイルなどで特定の文字列の後に文字を挿入する方法について紹介します。
  • 具体的には、<url>タグ内の特定の位置に文字を挿入する処理をマクロで行います。手作業で行うと時間がかかる作業でも、マクロを使うことで効率的に処理することができます。
  • このマクロは、XMLファイル内の大量の<url>タグに対して一括で処理することができ、作業時間の大幅な短縮が期待できます。
回答を見る
  • ベストアンサー

秀丸エディタのマクロ挿入系について

こんばんわ 今回は秀丸エディタのマクロ機能についてです。 下記の作業に秀丸エディタのマクロ機能を駆使したいのです。 今、入手したいマクロは文字列を検索して その文字列の後に文字を挿入するといったものです。 例を出すとXMLファイルにて <url> <loc>URL</loc> ←「検索」 [<mobile:mobile/>]←をここに挿入したいのです。 <priority>1.00</priority> <lastmod>1970-01-01T00:00:00+00:00</lastmod> <changefreq>daily</changefreq> </url> <url> <loc>URL</loc> <mobile:mobile/> <priority>0.80</priority> <lastmod>1970-01-01T00:00:00+00:00</lastmod> <changefreq>daily</changefreq> </url> <url> <loc>URL</loc><mobile:mobile/> <priority>0.80</priority> <lastmod>1970-01-01T00:00:00+00:00</lastmod> <changefreq>daily</changefreq> </url> <url> ・ ・ ・という感じに・・・ この処理をマクロにて何行も行いたいのです。 この処理が数行でしたらいいのですが 何分、数がとても多くて^^; そんなわけで、この機能の秀丸マクロを知っていたら ご回答いただければ幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • ong_a
  • ベストアンサー率33% (11/33)
回答No.1

ちゃんと検証していませんが,以下のようにすれば ご希望の作業はできると思いますが,いかがでしょうか。 -------------   gofiletop; aaa1:   searchdown "</loc>";   if (result == 0) goto bbb1;   down; golinetop;   insert "<mobile:mobile/>\n";   goto aaa1; bbb1:   endmacro; //(必要ならファイルを save して終了) -------------

annkoku88
質問者

お礼

ong_aさん 丁重な回答ありがとうございます! 上記の文法を試してみたのですが エラーが表示されてしまいましたので、下記のように 改善させていただきました。 --------------------------- gofiletop; aaa1: searchdown "</loc>"; if (result == 0) goto bbb1; down; golinetop; insert "<mobile:mobile/>\n"; goto aaa1; bbb1: endmacro; //(必要ならファイルを save して終了) ---------------------------------------- どうやら秀丸マクロではC言語とは少し違いスペースを空けると 文法エラーとなってしまい、正常に動作しないようです。 上記のように改善すると、見事動作するようになりました。 なにわともわれ、動作方法を教えてくださり 助かりました。 それにしても、秀丸マクロというのはC言語の文法に似ていて なんだか作りやすそうですね~ 今回はong_aさんがサンプルを提示してくれたおかげで 自分も簡単なマクロなら作れそうです。 自分の運営しているブログの方でも公開して マクロ講座のようなものを作りたいと思います。 そんなこんなで ong_aさん、本当にありがとうございました!

関連するQ&A

  • 秀丸、またはSAKURAエディタでマクロを…

    Grepをかけて、 挿入:   作成年月日~ という行であればカウントせず、 挿入:   '作成年月日~ という行であれば数えて、その数を出力してくれるようなマクロを 作りたいと思っています。 挿入:(直後にスペースが入るが数は一定ではない)のすぐ後に アポストロフィがあれば、数えるようにしたいのです。 このようなマクロを、秀丸、またはSAKURAエディタで作るには どうしたら良いでしょうか? ご教授ください。

  • 秀丸エディタで、同様な機能

    秀丸エディタで、同様な機能 メモ帳で日誌を作るには ドキュメントの 1 行目の左余白に、次の拡張子を入力します。必ず大文字を使い、ピリオドを付けてください。 .LOG [ファイル] メニューの [上書き保存] をクリックします。 注 このドキュメントを開くたびに、コンピュータの内部時計の日付と時刻がドキュメントの最後に書き込まれます。 秀丸エディタで、同様な機能をかなえることができないでしょうか? 日時の挿入は、以下のコマンドでかなえることが、できます。 メニュー その他>コマンド一覧>挿入系>日付と時刻 メモ帳のように自動で日時が挿入できれば便利と考えるのです。  マクロで同様な機能をかなえることは、できないでしょうか?  現在、秀丸エディタバージョン8.13を使用しています。 関連項目 NotePad メモ帳 挿入系コマンド -------------------------------------------------------------------------------- 目次-挿入系コマンド -------------------------------------------------------------------------------- 日付と時刻  日付と時刻を挿入します。 例: 05/12/25(日) 12:34:56 秀丸エディタバージョン8.13

  • 『マクロ機能』とはなんですか?(秀丸エディタ)

    秀丸エディタのwikipediaでの項目を見ていたのですが 『秀丸エディタの人気を支えるのが、マクロである。C言語に似た文法を持つ独自のマクロ機能を搭載しており、これにより、定型作業の効率化、複雑な作業の一本化が図れる。単なる動作記録としてでなく、分岐条件やDLLへのアクセス、各種プログラムの実行などが可能となっており、単なるエディタに留まらない作業を行うことができる』 とあります。 このマクロ機能とはなんですか? 特に秀丸エディタでは具体的にどのような事が出来るので しょうか? 稚拙な質問で申し訳ありませんがご教授いただけたら幸いです

  • 秀丸でリンクタグを挿入するマクロ

    秀丸でファイル内にURLがあるとURLとリンクタグを挿入してくれるマクロがあったと思うのですが、在り処をご存知の方はお教えください。 よろしく尾根がいたします。

  • sitemapにおける属性の取り扱い

    sitemapの書き方を勉強中です。sitemaps.orgを見ていて疑問に思いました。   http://sitemaps.org/ja/ このページ中のXMLサイトマップのサンプルです。   <?xml version="1.0" encoding="UTF-8"?>   <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">    <url>   <loc>http://www.example.com/</loc>     <lastmod>2005-01-01</lastmod>     <changefreq>monthly</changefreq>     <priority>0.8</priority>    </url>    <url>     <loc>http://www.example.com/catalog?item=12&amp;desc=vacation_hawaii</loc>     <changefreq>weekly</changefreq>    </url>    <url>     <loc>http://www.example.com/catalog?item=73&amp;desc=vacation_new_zealand</loc>     <lastmod>2004-12-23</lastmod>     <changefreq>weekly</changefreq>    </url>    <url>     <loc>http://www.example.com/catalog?item=74&amp;desc=vacation_newfoundland</loc>     <lastmod>2004-12-23T18:00:15+00:00</lastmod>     <priority>0.3</priority>    </url>    <url>     <loc>http://www.example.com/catalog?item=83&amp;desc=vacation_usa</loc>     <lastmod>2004-11-23</lastmod>    </url>   </urlset> このサンプルには5ページが登録されています。そして各々のページの属性として、最初のページから順に   lastmod、changefreq、priority   changefreq   lastmod、changefreq   lastmod、priority   lastmod が登録されています。 何で各々のページで登録されている属性が違うのでしょう。 私がsitemapを書けば、全てのページに全ての属性を登録してしまうのですが。そうじゃなくて登録する属性をページごとに分けるのであれば、その根拠がどこかにありそうなものですが、ちょっとその根拠は見つけられませんでした。 実際にsitemapを書く場合に、属性をページごとに書き分けたりするものなのでしょうか。もし書き分けるなら、どんな場合にどういう風に書き分けるのか、具体的な方法をご教授いただけないでしょうか。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • 秀丸マクロについて質問です。

    秀丸マクロについて質問です。 秀丸で編集されたテキスト文書の中でabcdefgという文字列がある行を検索し、 その行情報を取得し、その行の隣にある文字列(下記の例では123456)を返す にはどのようにすればよいでしょうか? ご回答よろしくお願いします。 (例) 567行目に以下の文があるとします。 abcdefg,123456,goukaku

  • 秀丸エディタの複数のマクロを一度に実行させるには?

    秀丸エディタで、複数のマクロを一度に実行する方法を教えてください。 具体的には、たとえば、目的の文字数で改行コードを挿入するマクロAと、引用符を文頭につけるマクロBを、まとめて、A->B と一気に実行させるマクロCのようなものを登録したいのです。 よろしくお願いいたします。

  • 秀丸エディタを使って削除

    秀丸エディタを使って 全行にわたって行頭1文字目から10文字目まで削除 また行末から3文字全行にわたって削除をするにはどのようにすればいいのでしょうか。

  • 【秀丸マクロ】IFの使い方

    秀丸マクロでの、IFの使い方が分かりません…。 秀丸でCSVデータの編集をしています。 "文字列1","文字列2","文字列3","文字列4","文字列5", のうち、文字列4だけを見て、条件に合致するものは『行ごと』削除したいんです。 調べて調べて、やっとこ↓までは書いたのですが、 gofiletop; while( code != eof ){ searchdown "^\"((.*?)\",){4}\"(.*?)\"(?\\1)"; deleteline; } IFがないので、これではぜーんぶ消えてしまいます。(苦笑) IFをどういった方法で追加すればよいのか、教えてください。 よろしくお願いします。

  • 秀丸で文字列範囲を選択したら、前後にタグ挿入したい

    秀丸エディタで、文字列範囲を選択したら、前後に特定タグを挿入したいのですが、どうすればよいでしょうか? どこかにそんなマクロないでしょうか? あるいは、どうやって、そういうマクロを作ったらよいでしょうか? ―やりたいこと― この範囲の文字列を選択したら、前後にblockquoteタグをつけたい  ↓  <blockquote>この範囲の文字列を選択したら、前後にblockquoteタグをつけたい</blockquote>

専門家に質問してみよう