如何从 Excel VBA 添加 Microsoft Project 中的新列?
How to add a new column in Microsoft Project from Excel VBA?
我正在用 VBA 在 Excel 中编写一个子程序。我已经成功打开了一个 MS Project 项目。现在,我想通过 Excel VBA 在 MS 项目文件中添加一个新列。我该怎么做?
'''vba
Dim MSProject As MSProject.Application
Dim project As MSProject.project
Dim wb As Workbook
Dim ws As Worksheet
Set wb = ThisWorkbook
Set ws = Sheets("Sheet1")
wb.Activate
ws.Select
' Open Microsoft Project project
Set MSProject = CreateObject("MSProject.Application")
With MSProject
.FileOpen "test.mpp"
.Application.Visible = True
End With
Set project = MSProject.ActiveProject
' Add column in Project (this syntax does not work)
MSProject.TableEditEx(Name:="test.mpp", TaskTable:=True, _NewFieldName:="JIRA Issue Key", Title:="JIRA Issue Key", Width:=15, _ShowInMenu:=True, _ColumnPosition:=1)
'''
- 不要使用
MSProject
作为变量名,因为它是库的名称。 project
也一样。典型的变量名称类似于 prjApp
和 prj
.
- 您有一个名为 "JIRA Issue Key" 的企业字段吗?字段名称必须是有效的现有字段。
TableEditEx
中的 Name
参数指的是 table 的名称,而不是项目的名称。
- 编辑 table 后,您需要使用
TableApply
应用更改
在默认视图(甘特图)中将现有字段添加到默认 table(条目)的代码应如下所示:
prjApp.TableEditEx Name:="Entry", TaskTable:=True, NewFieldName:="Text1", Title:="Custom title here", Width:=15, ShowInMenu:=True, ColumnPosition:=1
prjApp.TableApply "Entry"
有关详细信息,请参阅 the documentation。
我正在用 VBA 在 Excel 中编写一个子程序。我已经成功打开了一个 MS Project 项目。现在,我想通过 Excel VBA 在 MS 项目文件中添加一个新列。我该怎么做?
'''vba
Dim MSProject As MSProject.Application
Dim project As MSProject.project
Dim wb As Workbook
Dim ws As Worksheet
Set wb = ThisWorkbook
Set ws = Sheets("Sheet1")
wb.Activate
ws.Select
' Open Microsoft Project project
Set MSProject = CreateObject("MSProject.Application")
With MSProject
.FileOpen "test.mpp"
.Application.Visible = True
End With
Set project = MSProject.ActiveProject
' Add column in Project (this syntax does not work)
MSProject.TableEditEx(Name:="test.mpp", TaskTable:=True, _NewFieldName:="JIRA Issue Key", Title:="JIRA Issue Key", Width:=15, _ShowInMenu:=True, _ColumnPosition:=1)
'''
- 不要使用
MSProject
作为变量名,因为它是库的名称。project
也一样。典型的变量名称类似于prjApp
和prj
. - 您有一个名为 "JIRA Issue Key" 的企业字段吗?字段名称必须是有效的现有字段。
TableEditEx
中的Name
参数指的是 table 的名称,而不是项目的名称。- 编辑 table 后,您需要使用
TableApply
应用更改
在默认视图(甘特图)中将现有字段添加到默认 table(条目)的代码应如下所示:
prjApp.TableEditEx Name:="Entry", TaskTable:=True, NewFieldName:="Text1", Title:="Custom title here", Width:=15, ShowInMenu:=True, ColumnPosition:=1
prjApp.TableApply "Entry"
有关详细信息,请参阅 the documentation。