Compartilhar via


Método Application.AddSiteColumn (Project)

Adiciona uma coluna que fica disponível para a lista de tarefas no site do SharePoint sincronizado 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 mostrar na nova coluna; não pode ser um dos campos proibidos (veja Observações).
SharePointName Opcional Variant O nome da nova coluna.

Valor de retorno

Boolean

Verdadeiro se a coluna for adicionada.

Comentários

O método AddSiteColumn apresenta o erro de tempo de execução 1004, "Erro definido pela aplicação 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, pode utilizar 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 colunas, abra a lista de tarefas no SharePoint e, em seguida, selecione Modificar Vista no separador LISTA. A página Editar Vista de Definições > mostra todos os nomes de coluna que estão disponíveis para a lista de tarefas.

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

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

  • O valor ProjectField é um dos campos proibidos na Tabela 1. Estes campos são adicionados aos campos de recursos proibidos e aos campos personalizados da empresa. Os campos são proibidos porque estão relacionados com outros campos proibidos ou têm tipos de valor que não são suportados numa lista de tarefas predefinidas do SharePoint.

Embora os campos proibidos apresentados na tabela seguinte possam parecer uma lista longa, das 1338 constantes em PjField, existem 357 , incluindo campos personalizados de tarefa local, que podem ser utilizados 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 utilizar um nome exclusivo para o parâmetro SharePointName , embora o valor de o fazer seja questionável.

Exemplo

Para utilizar a macro AddDurationColumns, crie uma lista de tarefas num site do SharePoint, crie um projeto no Project Professional e, em seguida, utilize o método LinkToTaskList para importar a lista de tarefas. Defina uma linha de base para o projeto ativo com o comando Definir Linha de Base no separador PROJETO do friso e, em seguida, altere a duração de algumas tarefas.

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

Observação

Depois de executar a macro AddDurationColumns, tem de guardar o projeto no Project Professional para sincronizar as 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 guardar o projeto, aceda à lista de tarefas no SharePoint. No separador LISTA , selecione o comando Modificar Vista . Na página Definições – Editar Vista, 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.