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:
Para usar o exemplo, use Project Web App para criar um campo personalizado de texto do projeto da empresa denominado TestEntProjText.
Reinicie o Project com um perfil do Project Server para que ele inclua o novo campo personalizado.
Crie um projeto com um valor para o campo TestEntProjText, usando a caixa de diálogo Informações do projeto.
A macro TestEnterpriseProjectCF usa o método FieldNameToFieldConstant para localizar o número projectField, por exemplo, 190873618.
A macro mostra o valor de número e o texto em uma caixa de mensagem, usando o método GetField.
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.