Application.ChangeColumnDataType-Methode (Project)
Ändert den Datumstyp einer Spalte für lokale benutzerdefinierte Felder in einer Tabelle.
Syntax
Ausdruck. ChangeColumnDataType
( _Type_
, _Column_
)
Ausdruck Ein Ausdruck, der ein Application-Objekt zurückgibt.
Parameter
Name | Erforderlich/Optional | Datentyp | Beschreibung |
---|---|---|---|
Typ | Erforderlich | PjFieldTypes | Gibt den Typ der Daten im benutzerdefinierten Feld. Der Wert kann einer der PjFieldTypes -Konstanten entsprechen. Der Standardwert ist 0 (pjCostField). |
Spalte | Optional | Variant | Specifies the absolute column location. A value of 0 changes the data type of a column in the left-most position, if that column is a local custom field. If the first column is locked, the left-most position is the first column after the locked column. The default value is the selected column. |
Rückgabewert
Boolean
Bemerkungen
ChangeColumnDataType erfordert eine Spalte ein benutzerdefiniertes Feld ausgewählt werden. Um den Datentyp einer Spalte des benutzerdefinierten Felds zu ändern, Hinzufügen einer Spalteninhalts des benutzerdefinierten Felds zu einer Tabelle in einer Ansicht, mit der rechten Maustaste der Spaltenüberschrift, und klicken Sie dann auf Datentyp.
Beispiel
Um das folgende Beispiel zu verwenden, erstellen Sie ein Projekt mit mehrere Aufgaben, und öffnen Sie die Ansicht Balkendiagramm (Gantt). Das Makro CreateTestTable erstellt eine Aufgabentabelle mit vier Spalten. Die erste Spalte mit dem ID-Feld ist gesperrt. Die zweite Spalte ist des Titels Vorgangsname, die dritte Spalte enthält das benutzerdefinierte Vorgangsfeld Text1, und die vierte Spalte enthält das benutzerdefinierte Feld Zahl1. Das Makro weist die Tabelle auf die aktuelle Ansicht, und klicken Sie dann die benutzerdefinierte Vorgangsfelder Text und Zahlen hinzugefügt.
Führen Sie das Makro CreateTestTable. Der Wert des benutzerdefinierten Felds Text1 des ersten Vorgangs ist 42 X.
Führen Sie das Makro SwitchNumberAndText aus. Das Makro vertauscht die Überschriften und Typen der zwei benutzerdefinierten Felder.
Hinweis
Da der Wert des benutzerdefinierten Felds Text1 in der ersten Aufgabe 42 X beträgt, zeigt Project ein Fehlerdialogfeld mit der Meldung Convertieren dieser Daten verursacht Fehler, wenn ChangeColumnDataType versucht, diese Spalte in das benutzerdefinierte Feld Zahl1 zu konvertieren . Der Inhalt von 1 Datensätzen wird gelöscht. Möchten Sie trotzdem fortfahren? 3. Klicken Sie im Fehlerdialogfeld auf Ja , um mit der Konvertierung fortzufahren. Die benutzerdefinierten Felds Text1 geändert wird an das benutzerdefinierte Feld Zahl1, wenn der Wert 42 X auf 0 geändert.
- Wenn Sie zur Standardtabelle in der Gantt-Diagrammansicht zurückkehren möchten, klicken Sie mit der rechten Maustaste auf die Zelle Alles auswählen (die unbenannte obere linke Zelle in der Tabelle), und wählen Sie dann in der Dropdownliste eine andere Tabelle aus.
Sub CreateTestTable()
Dim t As Task
Dim n As Integer
TableEditEx Name:="Task Test Table", TaskTable:=True, Create:=True, FieldName:="ID", _
Width:=5, ShowInMenu:=True, HeaderAutoRowHeightAdjustment:=True, _
ShowAddNewColumn:=False
TableEditEx Name:="Task Test Table", TaskTable:=True, NewFieldName:="Name", Title:="Task Name"
TableEditEx Name:="Task Test Table", TaskTable:=True, NewFieldName:="Text1"
TableEditEx Name:="Task Test Table", TaskTable:=True, NewFieldName:="Number1"
TableEditEx Name:="Task Test Table", TaskTable:=True, LockFirstColumn:=True
TableApply Name:="Task Test Table"
n = 42
For Each t In ActiveProject.Tasks
If n = 42 Then
t.Text1 = CStr(n) & " X"
Else
t.Text1 = CStr(n)
End If
t.Number1 = n
n = n + 2
Next t
End Sub
Sub SwitchNumberAndText()
SelectTaskColumn Column:="Number1"
ChangeColumnDataType Type:=pjTextField
SelectTaskColumn Column:="Text1"
ChangeColumnDataType Type:=pjNumberField
End Sub
Support und Feedback
Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.