Shapes.AddTable, méthode (Project)
Ajoute une table au rapport et renvoie un objet Shape qui représente le tableau.
Syntaxe
expression.
AddTable
(NumRows,NumColumns,Left,Top,Width,Height)
expression Variable qui représente un objet Shapes.
Paramètres
Nom | Requis/Facultatif | Type de données | Description |
---|---|---|---|
NumRows | Obligatoire | Long | Nombre de lignes du tableau. NumRows est ignoré lors de la création d’une table. |
NumColumns | Obligatoire | Long | Nombre de colonnes du tableau. NumColumns est ignoré lors de la création d’une table. |
Left | Obligatoire | Unique | Bord gauche (en points) de la table, par rapport au côté gauche du volet rapport. |
Top | Obligatoire | Unique | Bord supérieur (en points) de la table, par rapport au haut du volet de rapport. |
Width | Obligatoire | Unique | Largeur du tableau, en points. |
Height | Obligatoire | Unique | Hauteur de la table, en points. |
NumRows | Obligatoire | INT | |
NumColumns | Obligatoire | INT | |
Left | Obligatoire | FLOAT | |
Top | Obligatoire | FLOAT | |
Width | Obligatoire | FLOAT | |
Height | Obligatoire | FLOAT | |
Nom | Requis/Facultatif | Type de données | Description |
Valeur renvoyée
Forme
Remarques
Project ignore NumRows et NumColumns lorsque la méthode AddTable crée une table. Lorsqu’une table est créée, elle comporte une ligne et une colonne, qui contient le texte Utilisez le volet de tâches Données de table pour générer une table (voir la figure 1). Lorsque vous sélectionnez la table, Project affiche le volet Office données de la table nommé Liste des champs, avec TASKS sélectionné par défaut. À l’aide du volet Office Liste de champs, vous pouvez ajouter manuellement des champs au rapport.
Figure 1. La méthode AddTable crée une table avec une ligne et une colonne
Exemple
La macro TestReportTable crée la table illustrée dans la figure 1, puis sélectionne la table pour afficher le volet Office Données de la table.
Sub TestReportTable()
Dim theReport As Report
Dim tableShape As shape
Dim theReportTable As ReportTable
Dim reportName As String
Dim tableName As String
Dim rows As Integer
Dim columns As Integer
Dim left As Integer
Dim top As Integer
Dim width As Integer
Dim height As Integer
reportName = "Table Report"
Set theReport = ActiveProject.Reports.Add(reportName)
' Add the table.
tableName = "Task information"
rows = 0
columns = 0
left = 0
top = 30
width = 110
height = 20
' Project ignores the NumRows and NumColumns parameters when
' creating a ReportTable.
Set tableShape = theReport.Shapes.AddTable(rows, columns, _
left, top, width, height)
tableShape.Name = tableName
tableShape.Select
Set theReportTable = tableShape.Table
With theReportTable
Debug.Print "Rows: " & .RowsCount
Debug.Print "Columns: " & .ColumnsCount
Debug.Print "Cell 1,1 contents:" & vbCrLf & vbTab; .GetCellText(1, 1)
End With
End Sub
Pour spécifier les champs de la table, utilisez la méthode UpdateTableData . Ajoutez le code suivant après la Set theReportTable = tableShape.Table
ligne de la macro précédente. Le paramètre OutlineLevel spécifie les tâches de niveau 1 et filtre la tâche récapitulative du projet.
' Set fields for the table.
Dim fieldArray(1 To 6) As PjField
fieldArray(1) = pjTaskName
fieldArray(2) = pjTaskStart
fieldArray(3) = pjTaskFinish
fieldArray(4) = pjTaskPercentComplete
fieldArray(5) = pjTaskActualCost
fieldArray(6) = pjTaskRemainingCost
theReportTable.UpdateTableData Task:=True, OutlineLevel:=1, SafeArrayOfPjField:=fieldArray
Exécutez la macro TestReportTable modifiée sur un projet qui a quatre tâches avec différentes valeurs pour le pourcentage de coûts de ressources et le pourcentage d’achèvement. La figure 2 est un exemple des résultats de la table.
Figure 2. La méthode UpdateTableData peut ajouter des champs à une table
Voir aussi
Shapes, objetShape ObjectApplication.Table, méthode
Assistance et commentaires
Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.