Метод Application.ChangeColumnDataType (Project)

Изменяет тип данных локального столбца настраиваемого поля в таблице.

Синтаксис

выражение. ChangeColumnDataType( _Type_, _Column_ )

Выражение Выражение, возвращающее объект Application .

Параметры

Имя Обязательный или необязательный Тип данных Описание
Тип Обязательный PjFieldTypes Указывает тип данных настраиваемого поля. Значение может быть одной из констант PjFieldTypes . Значение по умолчанию — 0 (pjCostField).
Столбец Необязательный Variant Задает абсолютное расположение столбца. Значение 0 изменяет тип данных столбца в самой левой позиции, если этот столбец является локальным настраиваемым полем. Если первый столбец заблокирован, самый левый столбец является первым столбцом после заблокированного столбца. Значение по умолчанию — выбранный столбец.

Возвращаемое значение

Boolean

Примечания

Для changeColumnDataType требуется выбрать столбец настраиваемого поля. Чтобы вручную изменить тип данных столбца настраиваемого поля, добавьте столбец настраиваемого поля в таблицу в представлении, щелкните правой кнопкой мыши заголовок столбца и выберите тип данных.

Пример

Чтобы использовать следующий пример, создайте проект с несколькими задачами, а затем откройте представление диаграммы Ганта. Макрос CreateTestTable создает таблицу задач с четырьмя столбцами. Первый столбец с полем идентификатора заблокирован. Второй столбец содержит название Имя задачи, третий столбец содержит настраиваемое поле задачи Text1 , а четвертый столбец содержит настраиваемое поле Number1 . Макрос назначает таблицу текущему представлению, а затем добавляет текстовые и числовые значения в настраиваемые поля задачи.

  1. Запустите макрос CreateTestTable . Значение настраиваемого поля Text1 первой задачи равно 42 X.

  2. Запустите макрос SwitchNumberAndText . Макрос переключает заголовки и типы двух настраиваемых полей.

    Примечание.

Так как значение настраиваемого поля Text1 в первой задаче равно 42 X, когда ChangeColumnDataType пытается преобразовать этот столбец в настраиваемое поле Number1 , в проекте отображается диалоговое окно ошибки с сообщением Преобразование этих данных приведет к ошибкам. Содержимое 1 записи будет удалено. Ты хочешь продолжить? 3. Чтобы продолжить преобразование, нажмите кнопку Да в диалоговом окне ошибки. При изменении настраиваемого поля Text1 на настраиваемое поле Number1 значение 42 X изменяется на 0.

  1. Чтобы вернуться к стандартной таблице в представлении диаграммы Ганта, щелкните правой кнопкой мыши ячейку 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 и обратная связь.