Método Application.FieldNameToFieldConstant (Project)

Retorna um valor longo para um campo personalizado local ou um nome de campo personalizado da empresa.

Sintaxe

expressão. FieldNameToFieldConstant( _FieldName_, _FieldType_ )

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

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
FieldName Obrigatório String O nome do campo personalizado local ou da empresa.
FieldType Opcional Long O tipo de campo. Pode ser uma das seguintes constantes PjFieldType: pjProject, pjResource ou pjTask. O valor padrão é pjTask.

Valor de retorno

Long

Comentários

Se o argumento FieldName for um campo personalizado local, o valor retornado pode ser uma constante PjField. Se FieldName não for um campo personalizado da empresa, o valor retornado não coincide com 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

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.