【发布时间】:2021-06-20 08:01:27
【问题描述】:
我在 MS Project 中工作并尝试使用宏将项目信息从电子表格导入 MS Project。到目前为止,我所拥有的内容可以很好地从电子表格中导入任务信息。我还想导入企业自定义字段项目信息,例如项目部门——您将在项目信息对话框中看到的信息。我我能够使用ProjectSummaryTask.SetField 将硬编码信息传递到这些字段,如下所示:
ActiveProject.ProjectSummaryTask.SetField FieldID:=FieldNameToFieldConstant("Project Departments", pjProject), Value:="Analytics"
但我不知道如何访问实际的 Excel 电子表格并引用其包含我需要的信息的单元格,以便我可以使用包含该信息的变量代替文本中的文本(“分析”)上面的例子。
到目前为止,我所拥有的全部内容是:
Sub Import()
MapEdit Name:="Map ", Create:=True, OverwriteExisting:=True, DataCategory:=0, CategoryEnabled:=True, _
TableName:="Cleaned", FieldName:="Name", ExternalFieldName:="Summary", ExportFilter:="All Tasks", ImportMethod:=0, _
HeaderRow:=True, AssignmentData:=False, TextDelimiter:=Chr$(9), TextFileOrigin:=0, UseHtmlTemplate:=False, IncludeImage:=False
MapEdit Name:="Map ", DataCategory:=0, FieldName:="Outline Level", ExternalFieldName:="Outline_Level"
MapEdit Name:="Map ", DataCategory:=0, FieldName:="Created", ExternalFieldName:="Created"
MapEdit Name:="Map ", DataCategory:=0, FieldName:="Start", ExternalFieldName:="Start_date"
MapEdit Name:="Map ", DataCategory:=0, FieldName:="Finish", ExternalFieldName:="Finish"
MapEdit Name:="Map ", DataCategory:=0, FieldName:="% Complete", ExternalFieldName:="%_Complete"
MapEdit Name:="Map ", DataCategory:=0, FieldName:="Notes", ExternalFieldName:="Notes_w_Comments"
FileOpenEx Name:="Mypath\Project Import Prep.xlsx", _
ReadOnly:=False, Merge:=0, FormatID:="MSProject.ACE.14", map:="Map ", DoNotLoadFromEnterprise:=True
ActiveProject.ProjectSummaryTask.SetField FieldID:=FieldNameToFieldConstant("Project Departments", pjProject), Value:="Analytics"
ActiveProject.ProjectSummaryTask.SetField FieldID:=FieldNameToFieldConstant("Customer", pjProject), Value:="OA"
End Sub
一切正常,但我想使用变量而不是硬代码自动填充电子表格中的项目部门和客户字段。
我需要做什么才能启用电子表格内容并将其用作变量?你至少能给我指出正确的方向吗?
我已经做了大量的工作来寻找答案,但到目前为止我发现的所有内容都是在 Excel 而不是 MS Project 中工作的。
【问题讨论】:
标签: vba ms-project