Compartir a través de


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:

  1. Para emplear este ejemplo, use Project Web App para crear un campo personalizado de texto del proyecto llamado TextoDeProyDeEmprDePrueba.

  2. Reinicie Project con un perfil de Project Server, para que incluya el nuevo campo personalizado.

  3. Use el cuadro de diálogo Información del proyecto para crear un proyecto con un valor para el campo TextoDeProyDeEmprDePrueba.

  4. La macro TestEnterpriseProjectCF usa el método FieldNameToFieldConstant para buscar el número del projectField, por ejemplo, 190873618.

  5. La macro muestra el valor numérico y de texto en un cuadro de mensaje con el método GetField.

  6. 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.