2017-01-23 75 views
0

我有下表。解決嵌套在重複節內容控制中的個別內容控制

word

每個單元代表一個單獨的純文本上下文控制。整個行然後被包裝在標記爲「ENTRY」的重複部分上下文控制(「RSCC」)中。如你所知,我可以這樣添加行:

Sub MACRO1() 
' 
' MACRO1 Macro 
' 

Dim anchor_cc As ContentControl 

Set anchor_cc = ActiveDocument.SelectContentControlsByTag("ENTRY").Item(1) 

' Add one more row 
total = 1 
For counter = 1 To total 
    With anchor_cc 
     .AllowInsertDeleteSection = True 
     .RepeatingSectionItems(1).InsertItemAfter 
    End With 
Next counter 

End Sub 

我也可以解決的個人 RSCC這樣,將輸出在對話框中整行的文本內容:

Sub MACRO2() 
Dim anchor_cc As ContentControl 

Set anchor_cc = ActiveDocument.SelectContentControlsByTag("ENTRY").Item(1) 

With anchor_cc 
    For counter = 1 To .RepeatingSectionItems.Count 
     MsgBox (.RepeatingSectionItems(counter).Range) 
    Next counter 
End With 

End Sub 

如何解決RSCC中的單個單元?例如,假設我想要解決第一行中的第一個單元格。解決第一行很容易。我可以只設置.RepeatingSectionItems指數爲1,即

.RepeatingSectionItems(1)

我如何進入第一個單元格是行?或者第n個細胞?請記住,單元格是單獨的純文本上下文控件。我不知道這是否會改變答案。

回答

0

我不能使用.RepeatingSectionItems屬性,我相信隨Word 2013或2016(此刻我在MS Word 2010之前)。

這個邏輯嘗試參照第一行(在這裏你可以用你的techinque)和下一指該行很簡單,在需要的細胞:

Dim ccEntry As ContentControl 
Set ccEntry = ActiveDocument.SelectContentControlsByTitle("ENTRY")(1) 

'to get row... 
Dim tblRow As Row 
Set tblRow = ccEntry.Range.Tables(1).Rows(ccEntry.Range.Information(wdEndOfRangeRowNumber)) 

'get first cell 
Dim tblCell As Cell 
Set tblCell = tblRow.Cells(1) 
    Debug.Print tblCell.Range.Text