Метод Application.ChangeColumnDataType (Project)
Изменяет тип данных локального столбца настраиваемого поля в таблице.
Синтаксис
выражение. ChangeColumnDataType
( _Type_
, _Column_
)
Выражение Выражение, возвращающее объект Application .
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
Тип | Обязательный | PjFieldTypes | Указывает тип данных настраиваемого поля. Значение может быть одной из констант PjFieldTypes . Значение по умолчанию — 0 (pjCostField). |
Столбец | Необязательный | Variant | Задает абсолютное расположение столбца. Значение 0 изменяет тип данных столбца в самой левой позиции, если этот столбец является локальным настраиваемым полем. Если первый столбец заблокирован, самый левый столбец является первым столбцом после заблокированного столбца. Значение по умолчанию — выбранный столбец. |
Возвращаемое значение
Boolean
Примечания
Для changeColumnDataType требуется выбрать столбец настраиваемого поля. Чтобы вручную изменить тип данных столбца настраиваемого поля, добавьте столбец настраиваемого поля в таблицу в представлении, щелкните правой кнопкой мыши заголовок столбца и выберите тип данных.
Пример
Чтобы использовать следующий пример, создайте проект с несколькими задачами, а затем откройте представление диаграммы Ганта. Макрос CreateTestTable создает таблицу задач с четырьмя столбцами. Первый столбец с полем идентификатора заблокирован. Второй столбец содержит название Имя задачи, третий столбец содержит настраиваемое поле задачи Text1 , а четвертый столбец содержит настраиваемое поле Number1 . Макрос назначает таблицу текущему представлению, а затем добавляет текстовые и числовые значения в настраиваемые поля задачи.
Запустите макрос CreateTestTable . Значение настраиваемого поля Text1 первой задачи равно 42 X.
Запустите макрос SwitchNumberAndText . Макрос переключает заголовки и типы двух настраиваемых полей.
Примечание.
Так как значение настраиваемого поля Text1 в первой задаче равно 42 X, когда ChangeColumnDataType пытается преобразовать этот столбец в настраиваемое поле Number1 , в проекте отображается диалоговое окно ошибки с сообщением Преобразование этих данных приведет к ошибкам. Содержимое 1 записи будет удалено. Ты хочешь продолжить? 3. Чтобы продолжить преобразование, нажмите кнопку Да в диалоговом окне ошибки. При изменении настраиваемого поля Text1 на настраиваемое поле Number1 значение 42 X изменяется на 0.
- Чтобы вернуться к стандартной таблице в представлении диаграммы Ганта, щелкните правой кнопкой мыши ячейку Select All (неименованная левая верхняя ячейка таблицы) и выберите другую таблицу в раскрывающемся списке.
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
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.