質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

Q&A

1回答

1956閲覧

秀丸で指定文字数(35文字)でその文字数の一番後ろの指定文字で改行するマクロの記述方法

ryuujinn

総合スコア72

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

0グッド

0クリップ

投稿2016/07/29 20:57

編集2016/07/30 08:54

秀丸で指定文字数(35文字)でその文字数の一番後ろの指定文字で

改行するマクロの記述方法が分からず困っています

具体的には、一行が35文字で

35文字内に「、」「。」「? 」「(笑)」「・・・・」

「★ 」「!」 「!?」「」」などの文字があった場合、

35文字以内の一番後ろの指定文字で

改行するマクロが作りたいです

例;

今日は、朝から天気が良く、真夏日になるらしいので、熱中症対策には十分気を付けたいです。(笑)庭にブールーベリーやひまわりが植えているので暑くなる前に水やりをしたいと思ます★ブルーベリーの実がなってきて色づいてきたのでもう少ししたら収穫できるのではないかと今から楽しみでなりません!?朝から水やりをした後に近所でラジオ体操をやっているので、姪っ子と甥っ子を連れて、ラジオ体操に今から行ってきます。「眠い」と思わず声にでてしまう時も多々ありますが、さぼらないように頑張りたいと思います。

上記の文章を読みやすく見栄えの良い文章に改行し1行空けたいです。

35文字以内に指定文字がない場合は35文字で改行するようにしたいです

今日は、朝から天気が良く、真夏日になるらしいので、熱中症対策には十分気を付けたいです。 (笑)庭にブールーベリーやひまわりが植えているので暑くなる前に水やりをしたいと思ます★ ブルーベリーの実がなってきて色づいてきたのでもう少ししたら収穫できるのではないかと 今から楽しみでなりません!?朝から水やりをした後に近所でラジオ体操をやっているので、 姪っ子と甥っ子を連れて、ラジオ体操に今から行ってきます。 「眠い」と思わず声にでてしまう時も多々ありますが、 さぼらないように頑張りたいと思います。

以下のように、秀丸でマクロを組んでみたのですが、

35文字以内の一番後ろの指定文字で

改行するってところがどう記述していいのか分かりません

setcompatiblemode 0x0F; begingroupundo; replaceall "^.{35}\\f" , "\\0\\n" , regular, nocasesense, nohilight; if( ! result ) beep; endgroupundo 1; replaceall "\\n" , "\\n\\n" , regular, nocasesense, nohilight; if( ! result ) beep; endgroupundo 1; selectall; copy;

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

phoenix3430025

2016/07/29 23:03

タグにExcelを指定してますが、全然違いますね。 一番近いのは「マクロ」なのでそれにするか、新たに「秀丸」タグの追加要望をしてください。 またここは依頼するところではなくて質問するところです。 どこまで自分でやったのか述べていないので、回答がつきにくいと思います。 (マクロを作成するのはあくまであなたです)
guest

回答1

0

ちょっと要件が曖昧なところがありましたので、
参考程度にになりますが、サンプルを作りました。

replacedownの第一引数の正規表現の指定方法がポイントになりそうです。

movetolineno 1, 1; replacedown "[★!]{1}", "\\n\\n", nocasesense, regular; movetolineno 1, 1; right 35; while(result == true){ insert "\n\n"; right 35; }

投稿2016/07/30 04:10

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryuujinn

2016/07/30 05:22

sipadan2003さん、コメント、コード投稿ありがとうございます 35文字で改行できるのですが、 これだと、35文字前の指定文字で改行という部分が上手くいきません
退会済みユーザー

退会済みユーザー

2016/07/30 06:31

35文字前の指定文字をどうやって指定するのかというと、正規表現を使うのが良いだろうと思うのです。 replacedownの第1引数に指定する正規表現を工夫してみてはどうでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問