目前,我有数千页的Word文档,现在需要定期对其进行过滤,这是一个聊天记录。长话短说,自事件发生以来,我现在需要监视它。以前的设计师对此有所帮助,但由于他从未维护过,因此不再适用。如果发生其他事件,我只需要过滤掉一个人的消息,否则可以更改其值。
我尝试在:周围使用通配符(例如“ :”),并使用节创建器对其进行处理并搜索该节,但是文件的写入方式使其很难获得整行从谈话发生时。
以下是日志文档的一部分
KAREN B:这是肖恩昨天的电子邮件istoonday@email.com SHAWN K:您也可以致电435-567-6545 CASSIE R给我打电话:或者他的办公室就在尼克斯旁边NICK W:不再有nerf镜头了@SHAWN K当他在我办公室或您正在向IT人员解释下一次屏幕更换时KAREN B:获胜者将获得700美元的“无难感”
这是更容易阅读的部分之一
我希望它看起来像
KAREN B:这是肖恩昨天的电子邮件ististday@email.com
KAREN B:获胜者获得700美元的“无难感”
KAREN B:************************************************ ******************************************************
这是我现在正在尝试的方法,但似乎可以通过列表,并且出于某种原因仅给出了一个
If Selection.Text Like "*:*" Then
colonPos = InStr(Selection.Text, ":")
If Left(Selection.Text, colonPos) = Format(Left(Selection.Text, colonPos), ">") Then
newSection = True
Selection.SetRange Selection.Start, Selection.Start + colonPos
Selection.Font.Bold = True
Selection.InsertBefore vbCrLf
Selection.GoToNext wdGoToLine
Selection.Expand wdLine
If lastSectionStart > 0 Then
Selection.SetRange lastSectionStart, Selection.Start
If CheckSectionFilter(Selection.Text, sectionFilter) Then
If Not CheckContentFilter(Selection.Text, contentFilter) Then
Selection.Delete
'Selection.GoToNext wdGoToLine
Else
Selection.SetRange Selection.End, Selection.End
lastSectionStart = Selection.Start
End If
Else
Selection.Delete
'Selection.GoToNext wdGoToLine
End If
Selection.Expand wdLine
Else
lastSectionStart = Selection.Start
End If