Método Application.ChangeColumnDataType (Project)
Cambia el tipo de datos de una columna de campo personalizado local de una tabla.
Sintaxis
expresión. ChangeColumnDataType
( _Type_
, _Column_
)
Expresión Expresión que devuelve un objeto Application .
Parameters
Nombre | Obligatorio/opcional | Tipo de datos | Descripción |
---|---|---|---|
Type | Obligatorio | PjFieldTypes | Especifica el tipo de los datos de campo personalizado. El valor puede ser una de las constantes PjFieldTypes. El valor predeterminado es 0 (pjCostField). |
Columna | Opcional | Variant | Especifica la ubicación absoluta de la columna. Un valor de 0 cambia el tipo de datos de una columna situada en el extremo izquierdo, si la columna es un campo personalizado local. Si la primera columna se bloquea, la posición del extremo izquierdo corresponderá a la primera columna que sigue a la columna bloqueada. El valor predeterminado es la columna seleccionada. |
Valor devuelto
Boolean
Comentarios
ChangeColumnDataType requiere una columna de campo personalizado que se seleccionen. Para cambiar manualmente el tipo de datos de una columna de campo personalizado, agregar una columna de campo personalizado a una tabla en una vista, haga clic en el encabezado de columna y, a continuación, haga clic en Tipo de datos.
Ejemplo:
Use el siguiente ejemplo, cree un proyecto con varias tareas y, a continuación, abra la vista Diagrama de Gantt. La macro CreateTestTable crea una tabla de tareas que tiene cuatro columnas. La primera columna con el campo ID está bloqueada. La segunda columna tiene el Nombre de la tarea de título, la tercera columna contiene el campo personalizado de tarea Texto1 y la cuarta columna contiene el campo personalizado número1. La macro asigna la tabla a la vista actual y a continuación, agrega texto y los valores de número para los campos personalizados de tarea.
Ejecutar la macro CreateTestTable. El valor de campo personalizado Text1 de la primera tarea es 42 X.
Ejecute la macro SwitchNumberAndText. La macro cambia los encabezados y tipos de los dos campos personalizados.
Nota:
Dado que el valor del campo personalizado Text1 de la primera tarea es 42 X, cuando ChangeColumnDataType intenta convertir esa columna en el campo personalizado Número1 , Project muestra un cuadro de diálogo de error con el mensaje, La conversión de estos datos provocará errores. Se eliminará el contenido de 1 registro. ¿Quieres continuar de todos modos? 3. Para continuar con la conversión, haga clic en Sí en el cuadro de diálogo de error. Cuando los cambios de campo personalizado Text1 para el campo personalizado número1, el valor 42 X cambia a 0.
- Para regresar a una tabla estándar en la vista Diagrama de Gantt, haga clic con el botón secundario en la celda Seleccionar todo (la celda superior izquierda sin nombre de la tabla) y, a continuación, seleccione una tabla diferente en la lista desplegable.
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
Soporte técnico y comentarios
¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.