基于自定义文本字段的标记任务

时间:2019-07-16 17:57:02

标签: vba microsoft-project-vba

此工具的最终目标是根据可在excel中找到的一系列项目唯一ID(Project中的自定义文本字段)过滤项目。我最初通过创建自定义过滤器并在其中加载Project UID来解决此问题,但是这些自定义过滤器最多只能处理45个值。

我曾经有一些想法正在创建多个自定义过滤器,但是我不确定一次可以应用多个过滤器。另一个想法是创建一个自定义标志字段,如果可以在数组中找到每个任务的项目UID(从excel值创建),则将其标记为yes。唯一的问题是我找不到测试项目中自定义单元格值的方法。

有什么想法吗?

这是我最初的工作,最多可以使用45个值:

Selection.SpecialCells(xlCellTypeVisible).Select

For Each sel In Selection
If sel.Value <> "" Then
FColl.Add sel.Value
End If
Next
FCt = FColl.Count
Debug.Print Application.ActiveCell.Count

pjApp.FilterEdit Name:="SSIReplica1", TaskFilter:=True, Create:=True,     OverwriteExisting:=True, FieldName:=Field, Test:="equals", Value:=FColl(1), ShowInMenu:=False, ShowSummaryTasks:=Sum
If FCt > 1 Then
For i = 2 To WorksheetFunction.Min(FColl.Count, 45)
    pjApp.FilterEdit Name:="SSIReplica1", TaskFilter:=True, FieldName:="", NewFieldName:=Field, Test:="equals", Value:=FColl(i), Operation:="Or", ShowSummaryTasks:=Sum
Next
End If


pjApp.FilterClear
pjApp.FilterApply Name:="SSIReplica"
AppActivate pjApp

0 个答案:

没有答案
相关问题