下面的宏将输入字段标题,后跟字段值。If 语句应检查字段的值,如果大于 30,则给出实际值,否则为零。
如果它是真的,而不是出现的值,我只是得到我输入的实际文本,而不是它的值。
Sub Macro1()
Dim doc As Word.Document
Dim dtField As Word.MailMergeDataField
Dim sFieldName As String
Dim sFieldActualName As String
Dim j As Integer
Set doc = ActiveDocument
j = 1
For Each dtField In doc.MailMerge.DataSource.DataFields
sFieldActualName = doc.MailMerge.DataSource.FieldNames(j).Name
sFieldName = dtField.Name
Selection.TypeText Text:=sFieldActualName + ": "
'---------------------------------------------------------------------------
doc.MailMerge.Fields.AddIf Range:=Selection.Range, MergeField:= _
sFieldName, Comparison:=wdMergeIfGreaterThan,_
CompareTo:="30", TrueText:="{MERGEFIELD sFieldName}", _
FalseText:="0"
'---------------------------------------------------------------------------
Selection.TypeParagraph
j = j + 1
Next
End Sub
如果我需要澄清任何事情,请告诉我。
编辑:我从 excel 使用的示例数据
one two three four five
85 50 63 50 41
52 10 84 10 15
85 25 63 35 10