共用方式為


Project) (ReportTable.GetCellText 方法

會傳回 ReportTable 物件中指定儲存格的文字值。

語法

expressionGetCellText (列,Col)

表達 代表 『ReportTable』 物件的變數。

參數

名稱 必要/選用 資料類型 描述
Row 必要 Long 數據表中的數據列編號。
Col 必要 Long 數據表中的數據行編號。
Row 必要 INT
Col 必要 INT

傳回值

字串

指定之表格儲存格格的文字值。

註解

傳回的字串結尾是換行符 ( chr(10),相當於 vbCrLf 字元) 。

範例

GetTableText 範例會尋找使用中報表上的所有數據表、取得數據表中每個儲存格的值、移除每個值的最後一個字元 (換行符) ,然後將數據表單元格值列印至 VBE 中的 [即時運算] 視窗。 若要使用 GetTableText 巨集,請建立具有 圖表物件 主題中所指定範例等值的專案,然後執行下列步驟 (請參閱圖 1) :

  1. 手動建立報表。 例如,在功能區的 [ 專案 ] 索引標籤上,於 [ 表] 下拉式清單中,選擇 [ 更多報表]。 在 [ 報表] 對話框中,選擇左窗格中的 [ 新增 ],選擇右窗格中的 [ 空白 ],然後選擇 [ 選取]。 在 [ 報表名稱 ] 對話框中,輸入Report 1。

  2. 將兩個數據表新增至報表。 在功能區 [設計] 索標籤的 [報表工具] 下,使用 [插入] 群組中的 [資料表] 命令。

  3. 將預設值保留在第一個數據表中,其中包含專案摘要任務的 [名稱]、[ 開始]、[ 完成] 和 [ 完成百分比 ] 字段。 選取第一個數據表以顯示 [ 字段清單 ] 工作窗格,然後選取 [ 實際成本 ] 和 [ 剩餘成本]

  4. 選取第二個數據表。 在 [ 欄位清單 ] 工作窗格中,將 [ 篩選 ] 變更為 [ 所有工作],然後選取 [ 實際成本 ] 和 [ 剩餘成本]。 在資料表中,選取並刪除 [ 開始 ] 資料行和 [ 完成] 資料 行。

  5. 使用功能區上 [插入] 群組中的文字框控件,將兩個文本框新增至報表。 例如,編輯第一個文本框以顯示專案摘要任務,並編輯第二個文本框以顯示工作資訊。

圖 1: 範例報表包含兩個數據表和三個文本框

Report with two tables and three text boxes

Sub GetTableText()
    Dim theReport As Report
    Dim shp As shape
    Dim theReportTable As ReportTable
    Dim reportName As String
    Dim row As Integer, col As Integer, i As Integer
    Dim output As String
    
    reportName = "Report 1"
    
    For i = 1 To ActiveProject.Reports(reportName).Shapes.Count
        Set shp = ActiveProject.Reports(reportName).Shapes(i)
        Debug.Print shp.Name & "; ID = " & shp.ID
    Next i
    
    For Each shp In ActiveProject.Reports(reportName).Shapes
        If shp.HasTable Then
            Debug.Print vbCrLf & "Table name: " & shp.Name
            
            For row = 1 To shp.Table.RowsCount
                output = vbTab
                
                For col = 1 To shp.Table.ColumnsCount
                    output = output & shp.Table.GetCellText(row, col)
                    output = left(output, Len(output) - 1) & vbTab
                Next col
                
                Debug.Print output
            Next row
        End If
    Next shp
End Sub

當您執行 GetTableText 巨集時,VBE 中的 [即時運算] 視窗會顯示下列文字。 前五行顯示圖形對象的預設命名方式,以及如何建立標識符值。

TextBox 1; ID = 2
Table 2; ID = 3
Table 3; ID = 4
TextBox 4; ID = 5
TextBox 5; ID = 6

Table name: Table 2
    Name    Start   Finish  % Complete  Actual Cost Remaining Cost  
    TestShapes  Mon 5/14/12 Tue 5/31/12 58% $1,595.00   $2,125.00   

Table name: Table 3
    Name    % Complete  Actual Cost Remaining Cost  
    T1  100%    $0.00   $0.00   
    T2  71% $1,280.00   $640.00 
    T3  44% $315.00 $765.00 
    T4  0%  $0.00   $720.00

另請參閱

ReportTable 對象標識碼屬性

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應