'                 '次のループ またはカンマ(",") に続く半角スペース文字に置換されます。, フィードバックをお送りいただきありがとうございます。今後のサイト改善に役立てて参ります。, 「すべてが段落記号で改行されている場合は、行の途中か行末の段落かどうかを識別するのが困難と思います。」, →ご指摘のようにこれが難関だったのですが,paragrphオブジェクトを使って試行錯誤で何とか解決できました.以下の通りです.ワードのVBAは詳しくないので,ともかくエラーが出ないように修正に修正を重ねたので,プロの方から見ると無駄なところがあると思います., Sub 行末改行コード削除半角スペース追加_指定位置から開始()             End If                 endCh.TypeText Text:=" " '半角追加 【コード】表中の結合されたセルを着色するWordマクロ(その2) ←バグあり ... 2017年10月25日(追記)      ワードの5行目は、  vbCrLf 改行され、白四角が1つ表示される となり、つまりCRコードが改行として機能すると認識していました。, ところが、vbCrが白い四角になってしまうことがあるのです。                 End If エクセル:vbLf  vbLf 白四角として表示される         Set endCh = Selection 【Word】ワイルドカードで「改行をしないスペース」も含む2つ以上の連続する半角スペースを検索する方法 に 森本 より 【コード】Word文書中の蛍光ペンのテキストを抽出するWordマクロ に 新田順也 よ …         Selection.EndKey display: none !important; 私はwordのVBAはほぼ使わないのと 2016/7/12 ここまでの経緯は、「見出しマップの目次 」をご覧ください。                  chPrvEnd = Selection.Characters.Last.Previous             ch.Select 文字の変換はReplace関数を使う 文字の変換を行う関数にRelpace関数があります。改行文字もReplace関数を使って変換することが可能です。 VBAでは改行文字用の定数が用意されています。 改行 …                         Exit Sub Then またはカンマ(",") に続く任意指定の改行(↓) の箇所のみが、ピリオド(".") よろしくお願いします。, 前置 ワード :vbCr                 '段落末文字が"."でない場合は,半角追加して,改行キーを削除に変える. 【コード】表中の結合されたセルを着色するWordマクロ(その3)  "^p" 改行される "A"の右側にChr(3):制御文字(ETX)を書き込んだ例です。, イミデエイト部分は、ワード側の5行をハイライトして             ElseIf rc = vbNo Then "なしの改行コードが使用されるので,一律に置換をするのは危険です. 確認画面が必要なのでどうしてもvbaコードとなります. 2,ワードのvbaの良い書籍をご存じないでしょうか. Word上でHTMLタグを処理するマクロを作って使用するうち、不思議な現象に遭遇しました。, これまで、
タグをWordドキュメントの改行に変換するため、vbCrへの置換を行ってきました。  vbCr 改行される その結果が添付の右下です。 vbCrLF、vbCr、vbLf 他のコードも含め実際に置換してみるとその結果は  vbLf 白四角が1つ表示される         ch.Select コード そのときに便利な技です。Excelでも同じことができますのでお試しください。 ... 最近書いている書類にて、括弧で囲んだ文字を下線に変更する必要がありました。 ねむねこさんの行っている具体的作業がわかっていないので とりあえず作ってみました。表... 2017年10月25日(追記) この方は、行の処理をWordで行うとのことで、特定の行を削除... 書類づくりをしていて特定の行の特定のセルを結合する必要がありました。200ページ以上もある表で数千行あるので手作業では難しいと思いまして、マ... 翻訳チェックソフトの「色deチェック」は、表内の文字列の比較処理をします。  vbCrLf 白四角が2つ表示される                 If crt = True Then     Loop         crt = False                     If rc = vbNo Then このような現象をどう理解すればよいか、お気づきの点あればご教示いただきたいと思います。 http://jazzmaster.hatenablog.com/entry/2012/05/16/114714 vbCrの右側(左側かも)に、何らかの制御文字があるんじゃないでしょうか。, 申し訳ありません。リクエストされたコンテンツは削除されています。すぐに自動的にリダイレクトされます。, 問題のファイルがどうやって作られたのか、作者本人に確認が取れました。ExcelのデータからWordへ差し込みで作られたものなんだそうです。もう少し再現条件を考えてみます。, http://jazzmaster.hatenablog.com/entry/2012/05/16/114714.  vbNewLine 白四角が2つ表示される 大きく外しているかもしれませんが、恐れず、コメントします。 m(_ _)m, 標準の改行コードは、                     rc = MsgBox("正しく削除されましたか?", vbYesNo + vbQuestion) .hide-if-no-js { 2013/7/6         If chPrvEnd <> "."     ElseIf confirmRt = vbNo Then End Sub, 頻度が少ないようでしたら置換で行う方法、テキストファイルにしてエディタで変換する方法などで行うのも簡単ではないかと思います。, このスレッドはロックされています。質問をフォローすることや役に立つと投票することはできますが、このスレッドに返信することはできません。, 1,見出しには". 誤りがあったため修正しました。     If confirmRt = vbYes Then Macro2を実行した結果です。, 結果を見る限り、         Exit Sub         Set ch = Pg.Range 0  vbCr 白四角が1つ表示される 段落末尾の改行文字の編集記号は"↲"記号(段落改行)で表示されますが、段落の途中で改行される改行文字の編集記号は"↓"記号(段落内での任意指定の改行) になっているのでしょうか。, そうであれば編集は可能ですが、すべてが段落記号で改行されている場合は、行の途中か行末の段落かどうかを識別するのが困難と思います。, 途中の改行文字が段落内の任指定の改行であるとした場合に、ワイルドカードを使用した置換をマクロにして試してみました。, Selection.Find.Replacement.ClearFormatting, Selection.Find.Execute Replace:=wdReplaceAll, ワイルドカードを使用して Word の置換で行う場合は以下のような指定になりますので、上記のコードはこれをマクロにしただけです。, ピリオド(".")     Set Pg = Selection.Paragraphs(1) 改行コードの差は吸収するようになっていました。 改行コードが違うのなら変えてください。(^_^;) 手で改行させ、その部分のみを選択して、以下のコードを vba のデバッグ ウインドウで実行 すれば、何が正しい改行コードか判ります。 Wo... ×  )。では"^p"は何なのかということですが…, 上のそれぞれの結果が得られるファイルのプロパティを参照しても、いずれもWord2016による作成で、テンプレートも同じ、特に違いは見つかりません。ただ、vbCrが四角になってしまうファイルを作成したのはわたしではなく別人で、どのような手順で作ったものなのかはまだ確認できていません。                     End If     Do     confirmRt = MsgBox("確認画面を表示しますか?", vbYesNoCancel + vbQuestion) "なしの改行コードが使用されるので,一律に置換をするのは危険です., すべてが段落記号で改行されている場合は、行の途中か行末の段落かどうかを識別するのが困難と思います。. にも同じようなことが書いてあります。, 試しに、画像のようなコードをワードのVBAで実行してみました。 改良版をアップしました。 数十ページにわたる表であれば、処理スピードは速いのですが、... 最近クライアントとの会話の中で、数百ページのファイル中にある表だけを確認できたらいいなと話になりました。 表のセルに同じ文字列を入れる作業が時々あると思います。 1,見出しには". vbCrが白い四角になっているのではなく             If rc = vbYes Then         Else                 Set Pg = Pg.Next(1) となり、つまりCRコード・LFコードへの置換のいずれも、このファイルでの作業では改行の意味にならないようです(そんなことありえるのでしょうか?? '改行記号を削除後に次の改行記号を検索 Call 改行記号を検索する Else MsgBox "改行記号を選択してください。", vbExclamation, "お知らせ" End If End With End Sub 関連記事 【Word】ネットからのコピペで混ざる「おかしな段落記号」の削除 ワードでは、             ElseIf rc = vbCancel Then  =              rc = MsgBox(chPrvEnd & "の後の改行コードを削除しますか?", vbYesNoCancel + vbQuestion)             Set Pg = Pg.Next(1)         End If と私は理解しています。, それは、  vbNewLine 改行され、白四角が1つ表示される         crt = Ture これから数回... 先日のWordマクロセミナーの参加者の業務内容をヒントに作ってみました。                 Selection.EndKey word, コード, ワイルドカード, ワード, 改行, 置換 ブログやツイートを作成するとき、無料ブログサイト・ワードプレス・ツイッターなどの投稿画面から文章を作成しますから「ワード(Microsoft Word)」を使うことは少ないですね。 そして、ページ設定で余白を... ようやく、アウトラインレベルに関するマクロの登場です。                 Exit Sub このようなときにワイルドカード(Wordの正規表現)が役立... 仕事で書類を作りました。最初に文字を入力して表を作成し、最後にレイアウトやスタイルを設定しました。 WidowsOS:vbCrLF つまり、Chr(13) & Chr(10) }, このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください。, 【セミナー案内】2020/11/14(土)サン・フレア アカデミー Wordマクロセミナー, 【セミナー案内】2019/03/16(土)東京 翻訳者のためのWordマクロ活用術, 【Word】ワイルドカードで「改行をしないスペース」も含む2つ以上の連続する半角スペースを検索する方法, 【Windows 10】突然デュアルディスプレイが表示されなくなった場合の対処方法. 文字列の中にある改行を判定したいのですがどうすればいいのでしょうか?イメージif mid(文字列,i,1)=改行 then 処理end ifiを加算していって1文字ずつ判定していく処理です。改行をどう表現するのかがわかりません。よろしくお願                     ch.Select  "^p" 改行される     End If Excelの1つのセルに改行されて入った言葉を 1行ずつ配列に格納します。 目には見えませんが改行箇所には「VbLf」というコードが入力されていますので 「VbLf」を区切りとして1行ずつ文字列を取り出し …                 '削除されると次の段落と合併されるのでこの段落でもう一度段落末を調べねばならないので次段落にいかないようにする. 前置 私はwordのVBAはほぼ使わないのと ねむねこさんの行っている具体的作業がわかっていないので 大きく外しているかもしれませんが、恐れず、コメントします。 m(_ _)m. 標準の改行コードは、 WidowsOS:vbCrLF つまり、Chr(13) & Chr(10) ワード :vbCr エクセル:vbLf と私は理解しています。     Else この何れも、vbCrに読み替えるようです。, >vbCrが白い四角になってしまうことがあるのです          それは特定のファイルを読み込んで作業するときに起こることで、変換を試してみると、 書式統一, 表, For Each … Next ステートメントを用いて、本文中の表すべてに対して処理をします。, 一度、Rangeオブジェクトとしてから、このRangeオブジェクトの最後の部分に改行を入れます。.                 endCh.Delete Unit:=wdCharacter, Count:=1 '改行キー削除