Application.SetMatchingField 方法 (Project)
为符合指定条件的选定任务或资源的域设置值。
语法
表达式。SetMatchingField (字段、 值、 CheckField、 CheckValue、 CheckTest、 CheckOperation、 CheckField2、 CheckValue2、 CheckTest2)
expression:表示 Application 对象的变量。
参数
名称 | 必需/可选 | 数据类型 | 说明 |
---|---|---|---|
Field | 必需 | String | 要设置的域的名称。 |
Value | 必需 | String | 域所设置的值。 |
CheckField | 必需 | String | 要检查的域的名称。 |
CheckValue | 必需 | 字符串 | 要与 使用 CheckField 指定的字段的值进行比较的值。 |
CheckTest | 可选 | String | CheckField 和 CheckValue 之间的比较类型。 默认值为"等于"。 可以是 比较字符串之一。 |
CheckOperation | 可选 | 字符串 | 使用 CheckField、 CheckTest 和 CheckValue 建立的条件与第二个条件(如果指定)的关系。 CheckOperation 参数可以设置为“And”或“Or”。 默认值为"And"。 |
CheckField2 | 必需 | 字符串 | 要检查的第二个域的名称。 |
CheckValue2 | 必需 | 字符串 | 第二个域所设置的值。 |
CheckTest2 | 可选 | Variant | CheckField2 和 CheckValue2 之间的比较类型。 可以是 与 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 支持和反馈,获取有关如何接收支持和提供反馈的指南。