• 締切済み

ワードで文頭にタブを一括で挿入するには?

こんにちは。ワードで作業しています。特定の文頭にtabを一括で挿入するマクロが組めたらいいなぁと思い投稿しました。  ](片カッコ)以降の最初の文字列にタブを挿入する、という作業なのですが、毎回探してはタブを挿入しています。下に例を示します。申し訳ございませんがご協力していただけないでしょうか? 例 [0001] 000 0000000 000000000 0000000 00 00000000-00000 0000000 ↓ [0001]    000 0000000 000000000 0000000 00 00000000-0000

みんなの回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんにちは。 このマクロは、正規表現で括弧のある文字を探しております。 ですから、[数字]改行 となっていることが条件です。(]の後に空白はあってもよい) 標準モジュールへの取り付け方 Alt +  F11 (Altを押しながらF11)を押すと、Visual Basic Editor 画面が出てきます。 次に、メニューの[挿入]-[標準モジュール]と開けて、クリックすると、画面が現れますので、以下のコードを貼り付けて、 Alt + Q で、画面を閉じます。 Alt + F8 で、「InsertTabAfterParences」を選んで実行してみてください。 なお、こちらは、Word 2003で開発しています。 うまく行かない場合は、もう一度、検索文字を詳細に教えてください。 '-------------------------------------------------------- Sub InsertTabAfterParences()  'Ver.2650674.001  Dim objRegExp As Object  Dim myPattern As Variant  Dim ReplaceWords As String  Dim Matches As Object  Dim Match As Object  Set objRegExp = CreateObject("VBscript.RegExp")  '  Selection.HomeKey Unit:=wdStory  Selection.EndKey Unit:=wdStory, Extend:=wdExtend  myPattern = "\[\d+\]\s*\n+" '検索文字  With objRegExp   .Global = True   .IgnoreCase = False   .Pattern = myPattern   If .Test(Selection) Then    Set Matches = .Execute(Selection)    For Each Match In Matches     myReplace Match.Value    Next Match   End If  End With  Selection.HomeKey Unit:=wdStory  MsgBox "終了", 64  Set objRegExp = Nothing End Sub Private Sub myReplace(SearchWd As String)  Selection.Find.ClearFormatting  Selection.Find.Replacement.ClearFormatting  With Selection.Find   .Text = SearchWd   .Replacement.Text = SearchWd & vbTab   .Forward = True   .Wrap = wdFindContinue   .Format = False   .MatchCase = False   .MatchWholeWord = False   .MatchByte = True   .MatchAllWordForms = False   .MatchSoundsLike = False   .MatchWildcards = False   .MatchFuzzy = False  End With  Selection.Find.Execute  Selection.MoveStart Unit:=wdLine  Selection.Range.InsertBefore vbTab  'タブ挿入 End Sub

gvfhxcg2
質問者

お礼

>Wendy02様 ご回答ありがとうございます。Visual Basic Editor 画面はあまり使ったことがなく、新しい発見でした。質問にお時間をかけてもらって、ありがとうございました。さっそく使わせていただきます。(ワードもいろんな機能が充実しているんですね。)

  • norosi
  • ベストアンサー率26% (430/1614)
回答No.2

マクロではありませんが・・・・ 置換えでできると思いますが(Word2003で検証しました) 編集の置換えで検索する文字列に「 ] 」を入れオプションをクリック あいまい検索のチェックを外し特殊文字をクリック 一番上に「段落記号」がありますのでこれをクリックこれで「 ] 」の後ろに「 ^p 」が入り、こう「 ]^p 」なります。 置換後の文字列に上記をコピーして持ってきて貼り付けます、その後特殊文字をクリックして段落文字をクリック これで置換え後の文字列が「 ]^p^t 」となります。 これで置換え実行でご希望通りになると思います。

gvfhxcg2
質問者

お礼

>norosi様 ご回答ありがとうございます。特殊文字を使うとこんなに便利に検索、置換できたんですね。驚きです。「できる~」シリーズの本(ワード版)を読んでも書いてない内容なので、大変助かりました。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

マクロの記録を手がかりに、やって見ました。 必ず置換したい文字がある、文章範囲を範囲指定しておいて(つい忘れやすい)、下記を実行してみてください。 Sub Macro24() Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "]" & Chr(11) .Replacement.Text = "]" & Chr(11) & "^t" .Forward = True .Wrap = wdFindAsk .Format = False .MatchCase = False .MatchWholeWord = False .MatchByte = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = False .MatchFuzzy = False End With Selection.Find.Execute Replace:=wdReplaceAll End Sub をやってみてください。 ](かぎカッコ)と↓(改行だけの文字、Char(11)にあたるよう) が続けてある場所を見つけ ]↓ ーー> ]↓+タブ(ワードでは^t)に、選択範囲の終わりまで、全て置換しています。 ーー ワードCVBAは小生勉強中で、これ以上質問に答えられないかも知れないが、上記でうまくいけば良いが。

gvfhxcg2
質問者

お礼

>imogasi様 お忙しい中、ご回答ありがとうございます。マクロはエクセルで簡単な計算くらいしか組んだことがなく、悪戦苦闘しておりました。さっそく使わせていただきます。ありがとうございました。

関連するQ&A

  • ワードでタブの挿入

    ワードの問題集で、 完成例が載ってあって 作成に使用する機能 ワードアート・クリップアート・インデント(マーカー位置3) タブ(タブ挿入のみ)・図形描画機能 と書かれています。 タブ(タブ挿入のみ)の意味が分かりません。 特に何文字とは指定されていません。 何を操作しろということなのでしょうか?

  • Wordのタブ挿入

    Wordで文字列の左側を揃えたいときにタブを挿入するのはわかるのですが、例えば ○ 日時   13:00~15:00 ○ 集合場所 新宿  と表示するとします。 タブとリーダーの設定が4文字で、「日時」と「13:00」の間が4文字の時に「集合場所」と「新宿」の間に1文字の空白をあけるのはなぜでしょうか。 タブを挿入する時は、必ず4文字の空白をあけるのではないでしょうか。 よろしくお願いします。

  • 秀丸で文頭に2,3行の文字列を挿入したいです。

    行頭は「^」分かるんですが、文頭はなんでしょうか? golinetop2;ではダメでした。 秀丸をつかっています。emeditorでもいいので教えてください。 地道にマクロを作るにしても大量のテキストファイルを処理したいので 書き方がわかりません。 Devas34(複数ファイルからテキストを検索、一括置換するソフト)もあるんですが、 文字列の挿入がうまくいきません。 検索が下手なのか なかなか答えにたどり着きません。 どうかよろしくお願いします。

  • Wordでセル内の文字を選択してタブを挿入する方法

    Word2010で二列の表を使って、対訳形式で翻訳作業をする際に、タブがうまく反映させることができないし、検索しても見つからないので、質問させていただきます。 表のセル内でタブを挿入するには、tabではなくて、ctrl+tabを入力すれば、数文字空けることができます。 ですが、選択した文字全体に、タブを反映させることが、この方法では、できないので、困っています。 図の右側が訳の部分です。右上セルの下側のように、長いので改行されてしまう部分にも、ちゃんとタブが反映されるようにしたいです。ですが、直接入力してうまく反映させる方法が分かりません。これはコピペしてうまく反映させましたが、それだと、対訳しながら作業する意味がありません。 文頭にカーソルを置いて、ctrl+tabを押せば、右下セルのようになります。ですが、ご覧のように、長くて改行されてしまう箇所にタブが反映されません。訳出の際の混乱を防ぐために、この作業を行なっているのに、タブがリセットされてしまうと、訳が分かりにくくなってしまいます。 どのように入力すれば、表内に、ちゃんとタブを反映させたい部分全体を、指定して反映させることができるでしょうか?それとも、タブを反映させたい場合は、表組みで作業しない方がいいのでしょうか? お知恵を拝借できれば助かります。

  • 【DreamWeaver】一括インデントで無駄なtabが入る

    【DreamWeaver】一括インデントで無駄なtabが入る DreamWeaverCS4(Win-XP)使用者です。 何十行もあるコードに一括でインデントを入れたい場合は テキスト > インデント にて挿入しています。 しかしながら、何もない行にも無駄なtabが挿入されるためいちいち手作業で削除しています。 これを防ぐ方法はないものでしょうか。 お詳しい方、よろしくお願いします。

  • EXCELのデータをWORDに変換するときにTABを除去したい。

    複数列のEXCELのデータをtxt形式で保存し、それをWORD 97で読むと、列と列の間に、TABが挿入され、空白ができてしまいます。多くのデータがあると、いちいちTABを削除するのに手間がかかります。簡単に一度に全部、削除する方法はありますか?ただし、最初の列の文字は欠けないように。 例 EXCELでは A列  | B列 本日は|晴天なり。 WORDに変換すると 本日は  晴天なり。 と TABが入ってしまう。 これを 本日は晴天なり。 としたい。

  • 特定の文字列がある行に一括でタグを挿入したい

    特定の文字列がある行に一括でタグを挿入したいのですが、そのようなことが一括で行えるソフトなどはありますか? 現在2ちゃんねる系のホームページを作っているのですが、 382 名前:名無し[] 投稿日:2009/08/01(土) 15:39:22 ID:×××× 文章キタ━━━━━━(゜∀゜)━━━━━━ !!!!!文章 文章   文章    文章      文章 となっているのが定型です。 その中で、「名無し」を含む行に一括でタグを挿入したいです。 「名無し」を指定して、その文字を含む行にタグを挿入した場合、 <strong>382 名前:名無し[] 投稿日:2009/08/01(土) 15:39:22 ID:××××</strong> 文章キタ━━━━━━(゜∀゜)━━━━━━ !!!!!文章 文章   文章    文章      文章 となるようにしたいのですが。 現在はすべて手作業にて行っているので非常に時間がかかってしまいます。これを一括で処理できれば夢のようです、是非ともご回答よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • Wordへの表の挿入について

    Wordへの表の挿入について 私のパソコンのWordは2003です。 大学の課題をしていて、表の作成をWordでして見積書を作るのですが その教材として送られてきた本がWord2007対応でその本通りにやっても、私のは2003ですので色々勝手が違って困っています。 で、表の挿入をするのですが 6行(縦)×2列(横)の表を挿入するのですが その本には、上の部分のファイル・編集・表示…の部分の挿入タブにある表ボタンをクリックして、 表の大きさを決めて、挿入するとのことなのですが 2003では挿入タブに表ボタンが無く 良く見ていたら、 ファイル・編集等の一段下に、新規作成や、開く、上書き保存などのボタン(絵が書いてあるやつ。上書き保存はフロッピーディスクの絵柄とか) の列に表の挿入ボタンがあって、そこから挿入しようとしたら 表の大きさを定義するためのグリッド(格子)が 最大4行(縦)×5列(横)までしか選べませんでした。 なので、縦6行に出来ず困っています。 どうすればできるでしょうか? それとも2003では対応できないのでしょうか? 大学の単位を取るための課題なもので困っていて…(通信過程) 教えてください。

  • ワード2007から2003への一括変換について

    ワード2007以降のファイル(.docx)のファイルが多数あります。 それをワード2003以前(.doc)がインストールされているパソコンで使用したいと思っています。 一つ一つファイルを開いて、保存し直せばできることはわかるのですが、 ファイル数が多いため、一括で変換できると非常に時間の節約になります。 エクセルに関しては、ネットで探してマクロを見つけて、一括変換することができました。 何かいい方法があれば、ご教授お願いいたします。

  • 【ワードのマクロ】特定の記号の後ろにタブをいれるマクロについて

    マクロとVBAは詳しくありませんが内容はだいたい理解 できるかと思います。おしえて頂けると嬉しいです。 ワードのマクロまたはVBAで以下のようなことが 可能かおしえてください。どうもマクロでは できないようなのですがVBAなら可能でしょうか? =======質問内容============= 業務でつかっているあるワード文書内の 特定の記号(■とか●とか)の後ろに タブをいれる。特定の記号の後ろに数字があれば その後ろにタブをいれる。 VBAでここまで可能でしょうか。できるとすれば どのようなコードをいれるのかご存知のかた いらっしゃいましたらよろしくお願いいたします。

専門家に質問してみよう