我尝试实现以下目标: 将字符串元素从 excel 单元格复制到 word 中的书签。在那里,用户可以修改字符串,并且可以在修改后将字符串发送回 excel。
我的问题: 我可以将字符串复制到书签(bookmars 被设置为 word 中的封闭书签,这意味着我刚刚写了一个“abc”,书签应该在哪里,标记为“abc”并按下书签。)书签是复制文本后仍然存在,但是当我尝试将书签处的字符串写回 excel 时,.Range-Object 为空。
我的问题: 任何人都可以帮助我实现我的目标,将书签中的字符串恢复为 excel。因此我只需要一个对象左右的字符串。一个 msgbox(the_string) 就足够了,我可以把它放到 excel 中它所属的位置。
这是我的代码:
Sub BM(Step As Byte)
Dim docApp As Word.Application
Dim CurrentDoc As Word.Document
Set docApp = GetObject(, "word.application")
Set CurrentDoc = docApp.ActiveDocument
CurrentDoc.Bookmarks(Step & "Number").Range.Select
Dim objBMRange_pos As Word.Range
Set objBMRange_pos = CurrentDoc.Bookmarks(Step & "Number").Range
Dim oData As dataobject
Set oData = New dataobject
oData.SetText ""
'The function Check_A delivers the string from excel cells
oData.SetText Check_A(Step, "Number")
oData.PutInClipboard
oData.GetFromClipboard
CurrentDoc.Bookmarks(Step & "Number").Range.Text = oData.GetText
'CurrentDoc.Parent.Selection.PasteSpecial DataType:=wdPasteText
'Re-new the bookmarks
CurrentDoc.Bookmarks.Add Name:=(Step & "Number"), Range:=objBMRange_pos
Debug.Print CurrentDoc.Bookmarks(Step & "Number").Range.Text
End Sub