Application.SetMatchingField 方法 (Project)

为符合指定条件的选定任务或资源的域设置值。

语法

表达式SetMatchingField (字段CheckFieldCheckValueCheckTestCheckOperationCheckField2CheckValue2CheckTest2)

expression:表示 Application 对象的变量。

参数

名称 必需/可选 数据类型 说明
Field 必需 String 要设置的域的名称。
Value 必需 String 域所设置的值。
CheckField 必需 String 要检查的域的名称。
CheckValue 必需 字符串 要与 使用 CheckField 指定的字段的值进行比较的值。
CheckTest 可选 String CheckFieldCheckValue 之间的比较类型。 默认值为"等于"。 可以是 比较字符串之一。
CheckOperation 可选 字符串 使用 CheckFieldCheckTestCheckValue 建立的条件与第二个条件(如果指定)的关系。 CheckOperation 参数可以设置为“And”或“Or”。 默认值为"And"。
CheckField2 必需 字符串 要检查的第二个域的名称。
CheckValue2 必需 字符串 第二个域所设置的值。
CheckTest2 可选 Variant CheckField2CheckValue2 之间的比较类型。 可以是 与 CheckTest 相同的比较字符串之一。

比较字符串

比较字符串 Description
"equals" CheckField 的值等于 CheckValue
"does not equal" CheckField 的值不等于 CheckValue
"is greater than" CheckField 的值大于 CheckValue
"is greater than or equal to" CheckField 的值大于或等于 CheckValue
"is less than" CheckField 的值小于 CheckValue
"is less than or equal to" CheckField 的值小于或等于 CheckValue
"is within" CheckField 的值在 CheckValue 之内。
"is not within" CheckField 的值不在 CheckValue 之内。
"contains" CheckField 包含 CheckValue
"does not contain" CheckField 不包含 CheckValue
"contains exactly" CheckField 正好包含 CheckValue

返回值

Boolean

示例

以下示例检查任务域 Name是否相等,将值更改为 New Task Name,然后将名称更改回原始名称。

Sub Set_MatchingField() 
 
 Dim T As Task 
 Dim OldName As String 
 
 'Save the task name 
 Set T = ActiveProject.Tasks(3) 
 OldName = T.GetField(pjTaskName) 
 
 ViewApply Name:="&Gantt Chart" 
 'Change the field to "New Task's Name" 
 SetMatchingField Field:="Name", Value:="New Task Name", CheckField:="Name", CheckValue:=OldName, CheckTest:="equals" 
 ' Set the field to the old name 
 SetMatchingField Field:="Name", Value:=OldName, CheckField:="Name", CheckValue:="New Task's Name", CheckTest:="equals" 
End Sub

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。