Word 2007 удалить информацию из документа на экране - PullRequest
0 голосов
/ 17 декабря 2011

Я работаю с конфиденциальной информацией в Word и хотел бы удалить часть информации, которая нарушает законодательство о конфиденциальности. Эта информация является переменной, поэтому я не могу сделать простую замену. Мне удалось удалить информацию из файла после сохранения его в виде текстового файла и циклического перемещения по файлу и сохранения его в новый текстовый файл. Строки, где встречается информация, всегда начинаются с одной и той же информации, поэтому я использовал ее для удаления личной информации. В идеале я хотел бы иметь возможность сделать это без предварительного сохранения файла. Я немного знаком с VBA в слове, но сейчас это выходит за рамки моих навыков.

извините за двусмысленность .... информация, которую необходимо заменить, является переменной, аналогично номеру социального страхования, поэтому простой поиск и замена невозможны. Образец предоставлен ниже. То, что я ищу, - это когда в начале строки содержится ID #, первые 4 символа номера ID будут либо x-out, либо заменены пробелом. Последние три символа все еще будут видны для идентификации.

-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       

1 Ответ

0 голосов
/ 19 декабря 2011

Это похоже на то, что я хочу.

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
...