0
タスクの数が2つのシンプルなMSプロジェクトファイル(2007)があります。 VBATest
というカスタムフィールドを作成し、このカスタムフィールドに2つのプロジェクトタスクに対して値を割り当てました。MS Project 2007 VBAでタスクとカスタムフィールドを取得する
私はプロジェクトタスクのリストとこのようなカスタムフィールドに割り当てられた値のリストを取得したいと思います。
ProjectTask | VBATest <--Custom field
------------|--------
Task1 | vba1
Task2 | vba2
私はAccess 2007 VBAからこれをやっています。最終的なコードがこれで終わるところです。 ほとんどの機能は動作しますが、Assignmentsオブジェクトからカスタムフィールド値を読み取ることができません。あなたはなにか考えはありますか? ありがとう
ここまでは私がこれまで行ってきたことです。
Sub LoadProjectFile()
Dim pjApp As MSProject.Application
Dim FileToOpen
Dim Proj As MSProject.Project
Dim Project_Task As Task
Dim fd As FileDialog
Set pjApp = New MSProject.Application
If pjApp Is Nothing Then
MsgBox "Project is not installed"
End
End If
pjApp.Visible = True
AppActivate "Microsoft Project"
Set fd = Application.FileDialog(msoFileDialogFilePicker)
fd.Filters.Clear
fd.Filters.Add "Microsoft Project Files", "*.mpp"
fd.AllowMultiSelect = False
fd.Show
If (fd.SelectedItems.Count = 0) Then
'Application.GetOpenFilename("Microsoft Project Files (*.mpp), *.mpp")
pjApp.Quit
Set pjApp = Nothing
Exit Sub
End If
pjApp.FileOpen fd.SelectedItems(1)
Debug.Print "Project_Task_Name~CustomField"
Dim ass As Assignment
For Each Project_Task In pjApp.ActiveProject.Tasks
If Not Project_Task Is Nothing Then
For Each ass In Project_Task.Assignments
assignCFVal = assignCFVal & "," & ass.VBATestField '<<PROBLEM Line
Next ass
Debug.Print Project_Task.Name & "~" & assignCFVal
assignCFVal = ""
End If
Next Project_Task
pjApp.FileClose pjDoNotSave
pjApp.Quit
Set pjApp = Nothing
End Sub