2010-08-01 74 views
0

只是一個簡短的問題。 我在默認情況下有兩列的Word模板中有這張表。 然後我有這個按鈕,用戶可以按下,如果他想要另一列。宏運行插入幾個文本佔位符並自動格式化某些事物。 但我想要的是某種基本上檢查此表中列數的例程,如果有兩列,輸入的文本自動爲「列3」,如果列中有三列,則文本應該是「第4欄」。應該很簡單,如果我可以找出如何找到列數。使用VBA確定Word中表格的列數

回答

2

表對象知道有多少列它,只是檢查Columns.Count屬性。

ThisDocument.Tables(1).Columns.Count 
+0

謝謝,真的很簡單! :) 但這是我碰到的東西。我使用上面提供的代碼。 當我打開模板(.dotm)並運行宏時,這工作正常。但是,奇怪的是,當我雙擊模板,使文檔成爲基於模板的「文檔1」文檔時,計數不起作用。現在我在表格中有6列,但讀數爲2.這在打開模板時不會發生。任何已知的原因,這應該發生?我在那裏只有一張桌子。 – 2010-08-01 15:21:29

+0

然後嘗試使用ActiveDocument而不是ThisDocument。 ThisDocument是對宏所在文檔的引用,而ActiveDocument引用具有焦點的文檔。這聽起來像是在您從模板生成新文檔之後,ThisDocument引用不再是您想要的內容。 – Tahbaza 2010-08-01 20:48:11

1

這工作:

Sub CountColumns() 
    Dim d As Document 
    Set d = ActiveDocument 
    Dim t As Table 
    Set t = d.Tables(1) 
    Debug.Print t.Columns.Count 
End Sub 
相關問題