Hallo,
ich verzweifel an der Methode TimeSacleData, mit der ich versuche die Arbeit einer Resource auszulesen, die einem Vorgang zugeordnet ist. Ich habe schon einige Forenbeiträge dazu gelesen, komme jedoch nicht weiter. Ich verwende MS-Project 2010 Standard und habe ein Projekt mit einem Vorgang und einer Ressource angelegt und die Resource dem Vorgang zugeordnet. Der Vorgang ist manuel geplant, hat einer Dauer von 10 Tagen und einer Arbeit von 10 h.
Hier ein Minimalbeispiel um die Arbeit einer Resource auszugeben:
Option Explicit
Sub subExportOverview()
Dim mspApplication As MSProject.Application
Dim Project As MSProject.Project
Dim startTask As Date
Dim endTask As Date
Dim task As Variant
Dim resource As Variant
Dim work As Variant
Dim indexTask As Long
Dim indexResource As Long
Set mspApplication = CreateObject("Msproject.Application")
mspApplication.ScreenUpdating = False
Set Project = mspApplication.ActiveProject
With Project
indexTask = 1
For Each task In .Tasks
startTask = task.start
endTask = task.Finish
indexResource = 1
For Each resource In task.Resources
Set work = Project.Tasks.Item(indexTask).Resources.Item(indexResource).TimeScaleData(StartDate:=startTask, _
EndDate:=endTask, _
Type:=pjResourceTimescaledWork, _
TimescaleUnit:=pjTimescaleHours, _
Count:=1)
'Set work = .TimeScaleData(StartDate:=startTask, _
EndDate:=endTask, _
Type:=pjResourceTimescaledWork, _
TimescaleUnit:=pjTimescaleHours, _
Count:=1)
Debug.Print ("Work: " & work)
indexResource = indexResource + 1
Next resource
indexTask = indexTask + 1
Next task
End With
End Sub
Wenn ich den Code ausführe erhalte ich den folgenden Fehler: "Laufzeitfehler '450': Falsche Anzahl an Argumenten oder ungültige Zuweisung zu einer Eigenschaft"
Der Auskommentiere Absatz unter Verwendung der For-Each-Struktur funktioniert leider auch nicht. Das ist wahrscheinlich ein anderes Problem, würd mich aber auch interessieren. Die Fehldermeldung für die auskommentierte Zeile lautet: "Laufzeitfehler '438: Objekt unterstützt diese Eigenschaft oder Methode nicht".
Ich habe außerdem einige Varianten ausprobiert mit unterschiedlichen Formaten für das StartDate und das EndDate. Momentan ist die übergebene Variable vom Typ Date. Habe auch schon strings im Format "yy/mm/dd" übergeben. Leider ohne erfolgt.
Kann mir jemand weiter helfen?
Grüße
Johannes
|