0

MS Word 形式の辞書を持っていますが、辞書エントリ内の段落区切りを削除し、2 つの辞書エントリを区切る段落区切りのみを保持したいと考えています。ディクショナリのレイアウトは次のようになります。

最初の写真 http://img43.imageshack.us/img43/6476/snapshotpr.jpg

ドキュメントからすべての段落区切りを最初に削除するマクロまたは正規表現が必要です。これにより、次のレイアウトが生成されます。

2枚目の写真 http://img824.imageshack.us/img824/5219/snapshot1i.jpg

次のステップでは、辞書エントリの前にのみ段落区切りを追加します。これは、太字の句の前にのみ角括弧内の音声表記が続くことを意味し、このレイアウトを取得します。

3枚目の写真 http://img849.imageshack.us/img849/2003/snapshot2qf.jpg

4

1 に答える 1

2

このサイトを使用して、段落マーカーを支援しました。

ここでも、4 つの検索/置換を手動で実行したマクロを記録しました (2 つの手順を使用して、角かっこが続く単語が一致することを確認しました)。マクロは次のとおりです。

Sub Separator()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
    .Text = "^13"
    .Replacement.Text = ""
    .Forward = True
    .Wrap = wdFindContinue
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchByte = False
    .MatchAllWordForms = False
    .MatchSoundsLike = False
    .MatchWildcards = True
    .MatchFuzzy = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
Selection.Find.Replacement.Font.Bold = True
With Selection.Find
    .Text = "\["
    .Replacement.Text = "^&"
    .Forward = True
    .Wrap = wdFindContinue
    .Format = True
    .MatchCase = False
    .MatchWholeWord = False
    .MatchByte = False
    .MatchAllWordForms = False
    .MatchSoundsLike = False
    .MatchFuzzy = False
    .MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.Find.ClearFormatting
Selection.Find.Font.Bold = True
Selection.Find.Replacement.ClearFormatting
With Selection.Find
    .Text = "[a-z\-]@ \["
    .Replacement.Text = "^p^&"
    .Forward = True
    .Wrap = wdFindContinue
    .Format = True
    .MatchCase = False
    .MatchWholeWord = False
    .MatchByte = False
    .MatchAllWordForms = False
    .MatchSoundsLike = False
    .MatchFuzzy = False
    .MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.Find.ClearFormatting
Selection.Find.Font.Bold = True
Selection.Find.Replacement.ClearFormatting
With Selection.Find.Replacement.Font
    .Bold = False
    .Italic = False
End With
With Selection.Find
    .Text = "\["
    .Replacement.Text = "["
    .Forward = True
    .Wrap = wdFindContinue
    .Format = True
    .MatchCase = False
    .MatchWholeWord = False
    .MatchByte = False
    .MatchAllWordForms = False
    .MatchSoundsLike = False
    .MatchFuzzy = False
    .MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll

サブ終了

微調整するものがあれば教えてください。それを変更しようとします:)

EDIT:ハイフンのために追加された部分。

于 2013-04-14T19:52:22.263 に答える