Método Application.FieldConstantToFieldName (Project)
Devuelve un nombre de campo personalizado para la constante del campo especificado.
Sintaxis
expresión. FieldConstantToFieldName
( _Field_
)
expresión Variable que representa un objeto Application.
Parámetros
Nombre | Obligatorio/opcional | Tipo de datos | Descripción |
---|---|---|---|
Field | Obligatorio | Long | La constante numérica para el campo personalizado. Puede ser una de las constantes de PjField para campos personalizados locales o cualquier otro valor de tipo Long para campos personalizados de empresa. |
Valor devuelto
Cadena
Comentarios
Si el argumento de campo es un campo personalizado local, puede usar una de las constantes de PjField. Si el campo es un campo personalizado de empresa, no coincide con una constante de PjField porque puede haber un número ilimitado de campos personalizados de empresa.
Nota:
[!NOTA] Por razones de uso y rendimiento, la cantidad de campos personalizados de empresa debe limitarse a unos pocos cientos o menos.
Puede tener acceso a los campos personalizados de proyecto a través de la propiedad ProjectSummaryTask.
Ejemplo:
El ejemplo siguiente muestra la diferencia entre los métodos FieldNameToFieldConstant y FieldConstantToFieldName:
Para emplear este ejemplo, use Project Web App para crear un campo personalizado de texto del proyecto llamado TextoDeProyDeEmprDePrueba.
Reinicie Project con un perfil de Project Server, para que incluya el nuevo campo personalizado.
Use el cuadro de diálogo Información del proyecto para crear un proyecto con un valor para el campo TextoDeProyDeEmprDePrueba.
La macro TestEnterpriseProjectCF usa el método FieldNameToFieldConstant para buscar el número del projectField, por ejemplo, 190873618.
La macro muestra el valor numérico y de texto en un cuadro de mensaje con el método GetField.
La macro obtiene el nombre del campo con el método FieldConstantToFieldName, establece un nuevo valor mediante el método SetField y, a continuación, muestra el nombre de campo y el nuevo valor en otro cuadro de mensaje.
Sub TestEnterpriseProjectCF()
Dim projectField As Long
Dim projectFieldName As String
Dim message As String
projectField = FieldNameToFieldConstant("TestEntProjText", pjProject)
' Show the enterprise project field number and old value.
message = "Enterprise project field number: " & projectField & vbCrLf
MsgBox message & ActiveProject.ProjectSummaryTask.GetField(projectField)
ActiveProject.ProjectSummaryTask.SetField FieldID:=projectField, Value:="This is a new value."
' For a demonstration, show the field name from the field number, and verify the new value.
projectFieldName = FieldConstantToFieldName(projectField)
message = "New value for field: " & projectFieldName & vbCrLf
MsgBox message & ActiveProject.ProjectSummaryTask.GetField(projectField)
End Sub
El ejemplo siguiente muestra la diferencia de nombres entre pjTaskStart, pjTaskStartText y campos de tareas similares.
Nota:
Los campos pjTask*Text , como pjTaskStartText, son nuevos en Project. Those fields are used to get data for dates of both automatically and manually scheduled tasks. For example, the Start column in a Gantt chart contains String data for dates, not Variant data. Use campos como pjTaskDuration en fórmulas de campo personalizadas, pero no en encabezados de columna.
Columnas en las vistas de tareas de Inicio, fin, duración y así sucesivamente, contienen datos de cadena para tareas programadas automáticamente y programadas manualmente. La columna duración sólo puede usar los datos de cadena, por lo que no hay ningún encabezado de columna para pjTaskDuration.
Sub TryNewTaskConstants()
' The pj*Text fields return data for the date columns of automatically and manually scheduled tasks.
' For example, FieldConstantToFieldName(pjTaskStartText) returns the column name for Start date strings.
Debug.Print "pjTaskStart returns: " & FieldConstantToFieldName(pjTaskStart)
Debug.Print "pjTaskStartText returns: " & FieldConstantToFieldName(pjTaskStartText) _
& vbCrLf
Debug.Print "pjTaskFinish returns: " & FieldConstantToFieldName(pjTaskFinish)
Debug.Print "pjTaskFinishText returns: " & FieldConstantToFieldName(pjTaskFinishText) _
& vbCrLf
Debug.Print "pjTaskDuration returns: " & FieldConstantToFieldName(pjTaskDuration)
Debug.Print "pjTaskDurationText returns: " & FieldConstantToFieldName(pjTaskDurationText) _
& vbCrLf
Debug.Print "pjTaskBaselineStart returns: " & FieldConstantToFieldName(pjTaskBaselineStart)
Debug.Print "pjTaskBaselineStartText returns: " & FieldConstantToFieldName(pjTaskBaselineStartText)
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.