2011-12-17 14 views
0

私はWordの機密情報を扱っており、プライバシーに関する法律に違反する情報の一部を削除したいと考えています。この情報は可変であるため、単純な置き換えはできません。テキストファイルとして保存し、ファイルをループして新しいテキストファイルに保存した後、ファイルから情報を削除できました。情報が出現する行は、常に同じ情報から始まります。したがって、私は個人情報の削除をトリガするために使用しました。理想的には、まずファイルを保存せずにこれを行うことができます。私は言葉でVBAに少し慣れていますが、これは現時点で私のスキルセットを超えています。Word 2007で文書の情報を画面から削除する

ご迷惑をおかけして申し訳ございません。交換する必要のある情報は社会保障番号と同様に可変であり、簡単な検索と置換はできません。以下にサンプルを示します。私が探しているのは、行の先頭にID#が含まれていて、ID番号の最初の4文字がx'dになっているか、空白に置き換えられていることです。最後の3文字は、識別のためにまだ表示されます。

 
-INQFS-07A-26-------------------------------------DATE:111018-162442- 

ID#: XXXXXXX NAME: XXXXXX, XXXX      LOCATION : XXXXXXXXXXXXXXXXXXXXXXXXX    NUMBER : XXX  PAGE: 1 

    --------------C U R R E N T --------------  OPENING BALANCE  --------------S A V I N G S -------------- C A N T E E N 

    CASH   HOLDS  FREE BALANCE       CASH   HOLDS  FREE BALANCE     

    306.52   7.50    299.02  DATE 11/10/11  91.68   0.00    91.68  90.00  
+0

あなたはそれが可変であると言います。次に、まったく同じ場所で起こると言います。どちらですか? –

+0

検索して削除しようとしているテキストのいくつかの(墨塗りされた)例を提供してください。それ以外の場合、あなたの質問はあまりにも一般的ではありません –

答えて

0

これは私がしたいと思うようです。

Sub MaskIDNUM() 
' 
' MaskIDNUM Macro 
' Blank out first four characters of the ID# in a printout 
' 
    Selection.WholeStory 
    Selection.Find.ClearFormatting 
    Selection.Find.Replacement.ClearFormatting 
    With Selection.Find 
     .Text = "ID#: ????" 
     .Replacement.Text = "ID#  " 
     .Forward = True 
     .Wrap = wdFindAsk 
     .Format = False 
     .MatchCase = False 
     .MatchWholeWord = False 
     .MatchAllWordForms = False 
     .MatchSoundsLike = False 
     .MatchWildcards = True 
    End With 
    Selection.Find.Execute Replace:=wdReplaceAll 
End Sub 
+0

Daveの編集に感謝します – user1103810

関連する問題