Как добавить новый столбец в Microsoft Project из Excel VBA? - PullRequest
0 голосов
/ 12 июля 2019

Я пишу Sub в Excel прямо сейчас с VBA.Я успешно открыл проект MS Project.Теперь я хочу добавить новый столбец в файл MS Project через Excel VBA.Как мне это сделать?

'' '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)

' ''

1 Ответ

1 голос
/ 12 июля 2019
  1. Не используйте MSProject в качестве имени переменной, так как это имя библиотеки.То же самое для project.Типичные имена переменных будут выглядеть примерно так: prjApp и prj.
  2. Есть ли у вас корпоративное поле с именем "Ключ проблемы JIRA"?Имя поля должно быть действительным, существующим полем.
  3. Аргумент Name в TableEditEx относится к имени таблицы, а не к проекту.
  4. После редактирования таблицы необходимо применить изменения с помощью TableApply

Вот как должен выглядеть код для добавления существующего поля в таблицу по умолчанию (запись) в представлении по умолчанию (диаграмма Ганта):

prjApp.TableEditEx Name:="Entry", TaskTable:=True, NewFieldName:="Text1", Title:="Custom title here", Width:=15, ShowInMenu:=True, ColumnPosition:=1
prjApp.TableApply "Entry"

См. документацию для получения дополнительной информации.

...