vba - 运行时错误“1004”:“活动”字段不存在
问题描述
我在用户的 PC 上收到此错误。他们在 Windows 7 上使用 Project 2013。在我们自己的测试机器上,在 Windows 10 上使用 Project 2013,在 Windows 10 上使用 Project 2016),我们没有看到相同的错误。
错误到处都是,但FilterEdit
在这里可以找到一个示例:
Sub STAT_Leads_Preds()
FilterEdit Name:="STAT_Leads_Preds", TaskFilter:=True, Create:=True, OverwriteExisting:=True, FieldName:="Predecessors", Test:="contains", Value:="-", ShowInMenu:=False, ShowSummaryTasks:=False
FilterEdit Name:="STAT_Leads_Preds", TaskFilter:=True, FieldName:="", NewFieldName:="Actual Finish", Test:="equals", Value:="NA", Operation:="And", ShowSummaryTasks:=False
If Not pActive Then
FilterEdit Name:="STAT_Leads_Preds", TaskFilter:=True, FieldName:="", NewFieldName:="Active", Test:="equals", Value:="Yes", Operation:="And", ShowSummaryTasks:=False
Else
End If
End Sub
目前尚不清楚为什么会出现此消息。“主动”实际上是一个领域。而且,就像我说的,我们没有在测试机器上看到这个问题。
解决方案
看起来项目标准没有“活动”字段。我们的解决方案涉及使用 Application.Edition 检查软件的版本,它可以是以下两个值之一:pjEditionProfessional
或pjEditionStandard
。
以下是代码最终的样子:
Sub STAT_Leads_Preds()
FilterEdit Name:="STAT_Leads_Preds", TaskFilter:=True, Create:=True, OverwriteExisting:=True, FieldName:="Predecessors", Test:="contains", Value:="-", ShowInMenu:=False, ShowSummaryTasks:=False
FilterEdit Name:="STAT_Leads_Preds", TaskFilter:=True, FieldName:="", NewFieldName:="Actual Finish", Test:="equals", Value:="NA", Operation:="And", ShowSummaryTasks:=False
If Not pActive And Application.Edition = pjEditionProfessional Then
FilterEdit Name:="STAT_Leads_Preds", TaskFilter:=True, FieldName:="", NewFieldName:="Active", Test:="equals", Value:="Yes", Operation:="And", ShowSummaryTasks:=False
Else
End If
End Sub
推荐阅读
- javascript - 使用 jsPDF 创建带有 Unicode 的 PDF
- typescript - 无法通过泛型找到扩展类的属性
- c# - _ManageNav 在添加我自己的身份类后不起作用
- sql - 如何从sql中的相同值中选择1条记录?
- django - 我是否应该始终信任 Django 中的 W0613 pylint 警告,尤其是对于以 **kwargs 作为参数的函数?
- c - 如何修复 C 函数给出错误的总和值
- python - 如何将 Google-Cloud-Vision OCR protobuf 响应保存/加载到磁盘?
- python - 如何让我的 Django 查询只返回平均值和另一列?
- java - 从另一个类获取列表数组中的帖子数。但它不起作用?
- mysql - 在 where 中使用时间戳和在有子句中的计数