[英]Set value within a word table cell as range
我正在編寫代碼以將單詞表單元格的數值設置為書簽(並在文檔的后面部分交叉引用該書簽)。 我遇到的問題是我只能將單元格本身設置為范圍,這在我交叉引用boorkmark時會導致格式問題。 我寧願為數字本身添加書簽,因為這不會導致格式問題。
Dim BMRange As Word.Range
Set BMRange = Activedocument.Tables(1).Cell(2, 2).range
Activedocument.Bookmarks.Add Name:="ExampleBookmark", Range:=BMRange
Set BMRange = Activedocument.Tables(1).Cell(2, 3).Range
BMRange .Collapse wdCollapseStart
BMRange.InsertCrossReference ReferenceType:="Bookmark", ReferenceKind:= _
wdContentText, ReferenceItem:="ExampleBookmark", InsertAsHyperlink:=True, _
IncludePosition:=False, SeparateNumbers:=False, SeparatorString:=" "
我將按照以下步驟進行:
Dim BMRange As Range
Dim tbl1 As Table
With ActiveDocument
Set tbl1 = .Tables(1)
Set BMRange = .Range(Start:=tbl1.Cell(2, 2).Range.Start, _
End:=tbl1.Cell(2, 2).Range.End)
BMRange.MoveEnd Unit:=wdCharacter, count:=-1
.Bookmarks.Add name:="ExampleBookmark", Range:=BMRange
End With
With tbl1.Cell(2, 3).Range
.Collapse (wdCollapseStart)
.InsertCrossReference ReferenceType:="Bookmark", ReferenceKind:= _
wdContentText, ReferenceItem:="ExampleBookmark", InsertAsHyperlink:=True, _
IncludePosition:=False, SeparateNumbers:=False, SeparatorString:=" "
End With
或者,采用其他樣式選擇:
Dim BMRange As Range
With ActiveDocument
With .Tables(1)
Set BMRange = .Parent.Range(Start:=.Cell(2, 2).Range.Start, _
End:=.Cell(2, 2).Range.End)
End With
BMRange.MoveEnd Unit:=wdCharacter, count:=-1
.Bookmarks.Add name:="ExampleBookmark", Range:=BMRange
With .Tables(1).Cell(2, 3).Range
.Collapse (wdCollapseStart)
.InsertCrossReference ReferenceType:="Bookmark", ReferenceKind:= _
wdContentText, ReferenceItem:="ExampleBookmark", InsertAsHyperlink:=True, _
IncludePosition:=False, SeparateNumbers:=False, SeparatorString:=" "
End With
End With
當您對表格的任何部分添加書簽時,可以使用沿着以下行編碼的公式字段,從文檔的其他位置引用該表格中任何單元格中的數值:
{= Sum(Tbl B2)}
其中“ Tbl”是書簽名稱,“ B2”是單元格引用。
至於您在做什么,您甚至不需要書簽,因為它在同一張表中。 只需使用公式字段編碼為:
{= B2}
您可以通過編程方式執行以下操作:
Dim Rng As Range
With ActiveDocument
Set Rng = .Tables(1).Cell(2, 3).Range
Rng.End = Rng.End - 1
.Fields.Add Range:=Rng, Type:=wdFieldEmpty, Text:="=B2", PreserveFormatting:=False
End With
注意 :如果要手動創建字段,則必須通過Ctrl - F9 (在Mac上為Cmd - F9 )在文檔本身中創建上述示例的字段大括號對(即'{}'); 您不能簡單地鍵入它們或從此消息中復制並粘貼它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.