我不確定這將如何解決.net,但這裏是一個展示這個想法的宏。對象模型往往是相同的,所以我認爲從VBA轉換到C#並不是很難。
Sub BookmarksInTables()
Dim aTable As Table
Dim aBookmark As Bookmark
For Each aBookmark In ActiveDocument.Bookmarks
For Each aTable In ActiveDocument.Tables
'If start of book mark is inside the table range or
' the end of a book mark is inside the table range then YES!
If (aBookmark.Range.Start >= aTable.Range.Start _
And aBookmark.Range.Start <= aTable.Range.End) _
Or (aBookmark.Range.End >= aTable.Range.Start _
And aBookmark.Range.End <= aTable.Range.End) Then
MsgBox aBookmark.Name + " is inside a table"
Else
MsgBox aBookmark.Name + " is not inside a table"
End If
Next
Next
End Sub
它通過檢查書籤的開始或結束位於每個表格範圍內(整個文檔中)來工作。 如果書籤的任何部分位於表格的內部,它將起作用。
另外,如果你需要找出如果書籤專門表裏面,你會要檢查書籤的起始位置爲大於或等於表的開始和書籤的結束小於或等於表格的結尾。
- 克里斯
不錯的一個。我會放棄它(午餐後)。 – Craig 2009-03-04 01:16:41