• ベストアンサー

WORD2010 囲み線を一括置換

WORD2010を利用しています。 囲み線で囲まれている文字を一括でダブルクォーテーション(”文字”)に置換することは可能でしょうか? どなたか詳しい方が居りましたら、ご教示をお願いします。

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

  • ベストアンサー
  • ushi2015
  • ベストアンサー率51% (241/468)
回答No.2

こんにちは うまく行くかどうか全く怪しいですけど、 Sub test()   Dim i As Integer   Dim j As Integer   Dim s As Integer   Dim o As Variant   i = 0   j = 0      For Each o In ActiveDocument.Words     i = i + 1          If i >= ActiveDocument.Words.Count Then       Exit For     End If          ActiveDocument.Words(i).Select          If Selection.Font.Borders(1).LineStyle = wdLineStyleNone Then          Else       Selection.Text = """" & ActiveDocument.Words(i) & """"       i = i + 3       ActiveDocument.Words(i).Select       Do Until Selection.Font.Borders(1).LineStyle = wdLineStyleNone         If ActiveDocument.Words(i - 1) = """" Then           ActiveDocument.Words(i - 1).Select           Selection.Text = ""           i = i - 1         End If         i = i + 1         ActiveDocument.Words(i).Select       Loop       ActiveDocument.Words(i - 1).Select       Selection.Text = Selection.Text & """"     End If        Next   Selection.Find.ClearFormatting   Selection.Find.Replacement.ClearFormatting   With Selection.Find     .Text = """"""     .Replacement.Text = """"     .Forward = True     .Wrap = wdFindContinue   End With   Selection.Find.Execute Replace:=wdReplaceAll End Sub これで、出来ますか? テストブックで試して下さい。

yasuhito_s1
質問者

お礼

確認&ご教示いただき有難うございます。 VBAマクロまで作成していただき恐縮です。 上記マクロでダブルクォーテーションが付きました。 ※囲み線はそのままでした。 有難うございました。

その他の回答 (2)

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

Wordにおいて、囲み線は、ホームー囲み線(Aの文字の周りに▢のボタンの機能)を使ったものとしての話です。 ケースによっては、下記の至らぬ点は、囲み線を囲む語句群が判っている場合(したがって数も多くない、場合です) ==>文章の囲み線実情に応じて下記を行う場合のコードは、できるかどうかわかりませんが、考えてみます。 WordのVBAで Sub kakoikomi() Selection.Find.Font.Borders.Enable = True End Sub を実行しておきます。 ーーー Sub 囲い線変換2() ' 囲み線のある東京都, 築地市場, 議会の3語(例)を捉える こういう文章例を今回仮に作ってテストしてください。 t = Array("", "東京都", "築地市場", "議会") Dim Test As Document For i = 1 To 3 For Each Test In Documents With Test.Content.Find .Text = t(i) MsgBox .Text .Font.Borders.Enable = True .MatchByte = True .MatchCase = True With .Replacement .Text = """" & t(i) & """" .Font.Bold = True .Font.Color = wdColorRed End With .Execute Replace:=wdReplaceAll End With Next Test Next i End Sub これで囲み線を残したまま、語の前後を””と"”で囲みます。 ーー その後、ワードVBAで、すべての囲み線を抹消します。 Sub 書式を抹消する() '文字書式を抹消 '----------------------------------- With ActiveDocument With .Range.Font .Borders(1).LineStyle = wdLineStyleNone '囲み線を解除 End With End With End Sub  

yasuhito_s1
質問者

お礼

ご確認&ご教示いただき有難うございます。 囲み線に入る文字については不特定多数のため、予め確認することが難しいです。説明が悪くお手数お掛けしてしまいました。 VBAについてはまだまだ未熟者ですが、参考にさせていただきます。

  • narashingo
  • ベストアンサー率74% (10167/13676)
回答No.1

2013で確認してみましたが、いきなりは「置換する文字列」の窓には囲み線を含んで入らないようですね。 もし、囲み線のある文字列の種類が1つであれば、次のページにあるように、文書全体を選択の上、囲み線をまず一括削除してから、その文字列を"文字列"で置換する方法になるのでしょうか。 (文字の「囲み線」を一括削除) http://mbp-kanagawa.com/saglasie/column/11442/ 囲み線のある異なる複数の文字列がある場合は、最初の文字列をドラッグして選択した後に、Ctrlキーを押しながら、当該置換したい対象の囲み線のある文字列を順次ドラッグして選択できるようですから、その状態で一括削除してから、置換を実行する方法はあると思います。 ページ数が多いと、囲み線のある文字列を一括選択するのは少々大変なので、ページごとに処理をするのでしょうか。

yasuhito_s1
質問者

お礼

確認していただき有難うございます。 いろいろとご確認していただき恐縮ですが、不特定多数の囲み線があるため、抜けがあったり上手くいきませんでした。 お手数おかけしました。

関連するQ&A

  • Word2003で、囲み線の中だけ置換することはできますか?

    Word2003で、囲み線の中だけ置換することはできますか? また、できるとしたら、どのようにすればできるでしょうか? わかる方いらしたらお願い致します。

  • ダブルクォーテーションが置換できません

    いつもお世話になっております。 PHP初心者です。 シングルクォーテーションとダブルクォーテーションを文字列として入力したいと思い、以下のように記述しました。 -------------------------------------------------- $naiyo = $_POST['naiyo']; $search = array('\'','"'); $replace = array('\'\'','\"'); $naiyo2 = str_replace($search,$replace,$naiyo); -------------------------------------------------- シングルクォーテーションは置換された(文字列として表示された)のですが、ダブルクォーテーションは表示されず、ダブルクォーテーション以下の文字列が消えてしまいます。 置換ができていないというよりも、そもそもダブルクォーテーションが検索に引っかかってもいないようです。 どのようにすればダブルクォーテーションも置換できるか、お分かりの方がいらっしゃいましたらご教示ください。 よろしくお願いいたします。

    • 締切済み
    • PHP
  • WORDで一括置換

    WORDの文書内で複数の単語を一括置換したいのですがどうしたらよいですか?またmacでも同様にできますか?教えて下さい。

  • 複数のワードファイルの一括置換について

    フォルダ内にあるワードファイルにある文字列を一括置換したいと考えております。 ワードファイルは10個以上はあり、まったく同じ言葉が含まれております。 使用環境はWindowsXP、Word2003を使用しております。 シェアウェアのソフトは見つけたのですが、フリーソフトは見つけることができませんでした。 置換したい文字列は、ごく一般的な日本語です。 詳しい方どなたかよろしくお願いいたします。

  • ワードの囲みについて・・

    ワードの囲みを使って、文字の周りに囲みをしました。 その後文字の前後にスペースを挿入しようとしたら、文字の前には入るのですが、後ろにスペースを挿入しようとしても囲みの外にスペースが入ってしまいます。どこか設定が悪いのでしょうか??

  • ワードのスペースの囲み線

    ワード2000で文字の後にスペースを数個入れ、文字囲み線で記入用空白欄をつくりたいのですが、スペースの後に改行記号のみではツールバーの文字囲み線アイコンが使えません。最後に何か文字があれば囲み線機能が使えます。解決方法をご教示ください。現在、問題解決のため、スペースの後に半角コンマを記入して何とか問題をしのんでいます。

  • EXCELでの置換でコーテーションを残す方法

    どなたか教えて下さい。 EXCELの置換(「編集」-「置換」)で文字列の置換は出来るのですが、 ” :ダブルコーテーション から ’ :シングルコーテーション に置換したいのですが、その場合、セルの先頭のシングルコーテーションが文字列の始まりと捕らえられ消えてしまいます。 これをそのまま残す方法はありますか?

  • Wordでハイパーリンクを一括置換

    Wordでハイパーリンクを一括置換 可能であれば教えて頂けないでしょうか?大変困っております。 当方初心者の為、可能であれば具体的なやり方を書いて頂けると嬉しいのですが…。

  • ワードで複数の文字を一括・連続置換するマクロ

    ワード(Word)で複数の文字を一括・連続置換するマクロを作りたいのです。 次の回答を参考にしてマクロを作ってみました。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=994495 ところが、置換したい単語が100くらいになってきて扱いづらいので、 ワード(又はテキストやエクセルでも可)の置換文字のリストのファイルを参照して、同じように連続置換させたいのですが、どのような方法があるでしょうか? シェアウェアでも同様の機能をもつものがありますが、自由にカスタマイズできないので使えません。 (置換後の文字列に蛍光ペンをかけたいので)

  • 文字列の置換について。

    ダブルコーテーションで囲まれ文字列が あったとします。 その文字列の中に含まれる半角カンマを なくしたいのですが、 リプレイスだと反応がありません。 その他の文字は置換出来るのですが。 どなたから、ダブルコーテーションに囲まれた 文字列の中の半角カンマを取り除く方法が ありましたらアドバイス下さい。 どうぞよろしくお願いします。

    • ベストアンサー
    • Java

専門家に質問してみよう