Método Application.FieldConstantToFieldName (Project)

Retorna um nome de campo personalizado para a constante de campo especificada.

Sintaxe

expression. FieldConstantToFieldName( _Field_ )

expressão Uma variável que representa um objeto Application.

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
Field Obrigatório Long A constante numérica para o campo personalizado. Pode ser uma das constantes PjField para campos personalizados locais ou outro valor longo para campos personalizados da empresa.

Valor de retorno

String

Comentários

Se o argumento de campo é um campo personalizado local, você pode usar uma das seguintes constantes PjField. Se o campo for um campo personalizado da empresa, ele não corresponde a uma constante PjField porque pode haver um número ilimitado de campos personalizados da empresa.

Observação

[!OBSERVAçãO] Por motivos de desempenho e capacidade de uso, o número de campos personalizados da empresa deve ser limitado a algumas centenas ou menos.

Você pode acessar campos personalizados do projeto por meio da propriedade ProjectSummaryTask.

Exemplo

O exemplo a seguir mostra a diferença entre os métodos fieldnametofieldconstant e fieldconstanttofieldname:

  1. Para usar o exemplo, use Project Web App para criar um campo personalizado de texto do projeto da empresa denominado TestEntProjText.

  2. Reinicie o Project com um perfil do Project Server, para que ele inclua o novo campo personalizado.

  3. Crie um projeto com um valor para o campo TestEntProjText, usando a caixa de diálogo Informações do projeto.

  4. A macro TestEnterpriseProjectCF usa o método FieldNameToFieldConstant para localizar o número projectField, por exemplo, 190873618.

  5. A macro mostra o valor de número e o texto em uma caixa de mensagem, usando o método GetField.

  6. A macro obtém o nome do campo usando o método FieldConstantToFieldName, define um novo valor usando o método SetField e mostra o nome do campo e o valor novo em outra caixa de mensagem.

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

O exemplo a seguir mostra a diferença de nomes entre o pjTaskStart, pjTaskStartText e campos de tarefa similares.

Observação

Os campos pjTask*Text , como pjTaskStartText, são novos no 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 em fórmulas de campo personalizadas, mas não em títulos de coluna.

Colunas em modos de exibição de tarefa para o início, término, duração e assim por diante, contêm dados de cadeia de caracteres para tarefas agendadas automaticamente e agendadas manualmente. A coluna duração só pode usar dados de cadeia de caracteres, portanto, não há nenhuma títulos de coluna 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

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.