我正在使用Word中的敏感信息,并希望删除一些违反隐私法规的信息。这个信息是可变的,所以我不能做一个简单的替换。在将文件保存为文本文件并循环浏览文件并将其保存到新文本文件后,我能够从文件中删除该信息。信息出现的行始终以相同的信息开头,因此我用它来触发删除私人信息。理想情况下,我希望能够在不保存文件的情况下执行此操作。我对VBA有点熟悉,但这超出了我的技能水平。
对不起歧义....需要替换的信息是可变的,类似于社会安全号码,因此无法进行简单的搜索和替换。下面提供了一个样本。我要找的是当行的开头包含ID#时,ID号的前4个字符要么x出或用空格替换。为了识别目的,最后三个字符仍然可见。
-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)
这似乎做了我想做的事。
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