Método Application.AddSiteColumn (Project)

Adiciona uma coluna que fica disponível para a lista de tarefas no site sincronizado do SharePoint para o projeto ativo.

Sintaxe

expressão. AddSiteColumn (ProjectField, SharePointName)

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

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
Projectfield Opcional PjField Pode ser um de um subconjunto de constantes na enumeração PjField , que especifica o campo de projeto a ser exibido na nova coluna; não pode ser um dos campos proibidos (consulte Observações).
SharePointName Opcional Variantes O nome da nova coluna.

Valor de retorno

Boolean

True se a coluna for adicionada.

Comentários

O método AddSiteColumn fornece o erro de tempo de execução 1004, "Erro definido pelo aplicativo ou definido pelo objeto", nos seguintes casos:

  • O projeto ativo não está associado a uma lista de tarefas sincronizadas do SharePoint. Se o projeto for local, você poderá usar o método LinkToTaskList para criar uma lista de tarefas sincronizadas do SharePoint.

  • O nome da coluna já existe na lista de tarefas do SharePoint. Para ver a lista de nomes de coluna, abra a lista de tarefas no SharePoint e escolha Modificar Exibição na guia LIST . A página Configurações > Editar Exibição mostra todos os nomes de coluna disponíveis para a lista de tarefas.

  • O valor ProjectField é um campo que não é tarefa, como pjResourceActualCost. Uma lista de tarefas do SharePoint mostra campos de tarefa, não campos de recursos.

  • O valor ProjectField é um campo personalizado da empresa, como pjTaskEnterpriseProjectText1 ou um campo de tabela de pesquisa, como pjTaskResourceEnterpriseRBS. Campos personalizados de tarefa local, como pjTaskText1, são válidos.

  • O valor ProjectField é um dos campos proibidos na Tabela 1. Esses campos são além dos campos de recursos proibidos e campos personalizados da empresa. Os campos são proibidos porque estão relacionados a outros campos proibidos ou têm tipos de valor que não têm suporte em uma lista de tarefas padrão do SharePoint.

Embora os campos proibidos mostrados na tabela a seguir possam parecer uma lista longa, das 1.338 constantes em PjField, há 357, incluindo campos personalizados de tarefa local, que podem ser usados com o método AddSiteColumn .

Campos proibidos adicionais

Campo Campo Campo
pjTaskActive pjTaskActualOvertimeWork pjTaskACWP
pjTaskAssignmentDelay pjTaskAssignmentPeakUnits pjTaskAssignmentUnits
pjTaskBaseline[1-10]BudgetCost pjTaskBaseline[1-10]BudgetWork pjTaskBaseline[1-10]FixedCostAccrual
pjTaskBaselineBudgetCost pjTaskBaselineBudgetWork pjTaskBaselineFixedCostAccrual
pjTaskBudgetCost pjTaskBudgetWork pjTaskCalendarGuid
pjTaskConstraintDate pjTaskConstraintType pjTaskCostRateTable
pjTaskDeliverableGuid pjTaskDeliverableType pjTaskDemandedRequested
pjTaskEarnedValueMethod pjTaskEnterpriseOutlineCode[1-30] pjTaskExternalTask
pjTaskFinishSlack pjTaskFixedCostAccrual pjTaskFreeSlack
pjTaskGuid pjTaskHideBar pjTaskHyperlink
pjTaskHyperlinkAddress pjTaskHyperlinkHref pjTaskHyperlinkScreenTip
pjTaskHyperlinkSubAddress pjTaskID pjTaskIgnoreWarnings
pjTaskIndicators pjTaskIsAssignment pjTaskLevelAssignments
pjTaskLevelDelay pjTaskLinkedFields pjTaskManual
pjTaskMilestone pjTaskNotes pjTaskObjects
pjTaskOutlineCode[1-10] pjTaskOutlineLevel pjTaskOutlineNumber
pjTaskPathDrivenSuccessor pjTaskPathDrivingPredecessor pjTaskPathPredecessor
pjTaskPathSuccessor pjTaskPreleveledFinish pjTaskPreleveledStart
pjTaskPriority pjTaskResourceType pjTaskStartSlack
pjTaskStatus pjTaskStatusIndicator pjTaskSubproject
pjTaskSubprojectReadOnly pjTaskTotalSlack pjTaskType
pjTaskWarning pjTaskWorkContour

É possível adicionar um campo que já existe na lista de tarefas, se você usar um nome exclusivo para o parâmetro SharePointName , embora o valor de fazê-lo seja questionável.

Exemplo

Para usar a macro AddDurationColumns, crie uma lista de tarefas em um site do SharePoint, crie um projeto em Project Professional e use o método LinkToTaskList para importar a lista de tarefas. Defina uma linha de base para o projeto ativo usando o comando Definir Linha de Base na guia PROJECT da faixa de opções e altere a duração de algumas tarefas.

A macro AddDurationColumns adiciona duração da tarefa e duração da linha de base à lista de colunas disponíveis na lista de tarefas do SharePoint (consulte Figura 1).

Observação

Depois de executar a macro AddDurationColumns, você deve salvar o projeto em Project Professional para sincronizar suas alterações com a lista de tarefas do SharePoint.

Sub AddDurationColumns()
    Dim success As Boolean
    Dim results As String
    Dim columnName As String
    Dim fieldName As PjField
    results = ""
    
    ' Add the first column.
    fieldName = pjTaskBaselineDurationText
    columnName = "Baseline duration"
    
    ' If the field name exists in the SharePoint tasks list, or fieldName
    ' is one of the prohibited fields, the AddSiteColumn method
    ' returns error 1100.
    On Error Resume Next
    
    success = AddSiteColumn(fieldName, columnName)
    
    If success Then
        results = "Added site column: " & columnName
    Else
        results = "Error in AddSiteColumn: " & columnName
    End If
    
    ' Add the second column.
    fieldName = pjTaskDurationText
    columnName = "Current duration"
    
    success = AddSiteColumn(fieldName, columnName)
    
    If success Then
        results = results & vbCrLf & "Added site column: " & columnName
    Else
        results = results & vbCrLf & "Error in AddSiteColumn: " & columnName
    End If
    
    Debug.Print results
End Sub

Depois de salvar o projeto, vá para a lista de tarefas no SharePoint. Na guia LISTA , selecione o comando Modificar Exibição . Na página Configurações – Editar Exibição, selecione o campo Duração da linha de base e o campo Duração atual que a macro AddDurationColumns adicionou. A Figura 1 mostra a lista de tarefas com os dois novos campos.

Figura 1. Adicionar campos a uma lista de tarefas sincronizada do SharePoint

Adding fields to a synchronized tasks list

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.