Método Application.ChangeColumnDataType (Project)

Altera o tipo de dados de uma coluna de campo personalizado local em uma tabela.

Sintaxe

expressão. ChangeColumnDataType( _Type_, _Column_ )

Expressão Uma expressão que retorna um objeto Application .

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
Type Obrigatório PjFieldTypes Especifica o tipo de dados do campo personalizado. O valor pode ser uma das seguintes constantes PjFieldTypes. O valor padrão é 0 (pjCostField).
Coluna Opcional Variant Especifica o local da coluna absoluta. Um valor 0 altera o tipo de dados de uma coluna na posição mais à esquerda, se essa coluna for um campo personalizado local. Se a primeira coluna estiver bloqueada, a posição mais à esquerda será a primeira coluna após a coluna bloqueada. O valor padrão é a coluna selecionada.

Valor de retorno

Boolean

Comentários

ChangeColumnDataType requer uma coluna de campo personalizado a ser selecionado. Para alterar manualmente o tipo de dados de uma coluna de campo personalizado, adicionar uma coluna de campo personalizado para uma tabela em um modo de exibição, clique com botão direito no cabeçalho da coluna e, em seguida, clique em Tipo de dados.

Exemplo

Para usar o exemplo a seguir, crie um projeto com várias tarefas e, em seguida, abra o modo de exibição gráfico de Gantt. A macro CreateTestTable cria uma tabela de tarefa que tenha quatro colunas. A primeira coluna com o campo ID está protegida. A segunda coluna tem o Nome da tarefa de título, a terceira coluna contém o campo personalizado de tarefa Texto1 e a quarta coluna contém o campo personalizado Number1. A macro atribui a tabela ao modo de exibição atual e, em seguida, adiciona texto e valores de número para os campos de tarefa personalizados.

  1. Execute a macro CreateTestTable. O valor do campo personalizado de Texto1 da primeira tarefa é 42 X.

  2. Execute a macro SwitchNumberAndText. A macro alterna os títulos e tipos dos dois campos personalizados.

    Observação

Como o valor do campo personalizado Text1 na primeira tarefa é 42 X, quando ChangeColumnDataType tenta converter essa coluna no campo personalizado Número1 , o Project mostra uma caixa de diálogo de erro com a mensagem, Converter esses dados causará erros. O conteúdo de 1 registros será excluído. Você quer continuar mesmo assim? 3. Para continuar com a conversão, clique em Sim na caixa de diálogo de erro. Quando as alterações do campo personalizado de Text1 para o campo personalizado Number1, o valor 42 X altera para 0.

  1. Para retornar a uma tabela padrão no modo de exibição Gráfico de Gantt, clique com o botão direito do mouse na célula Selecionar Tudo (na tabela, a célula sem nome no canto superior esquerdo) e selecione uma tabela diferente na lista suspensa.
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

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.