0
我在當前用戶的註冊表中獲取了要添加到Word文檔中預定義書籤中的數據。現在,事情是,我想在每個Word文檔中使用完全相同的宏,並讓宏如果找不到預定義書籤,則跳過該步驟。將註冊表中的數據插入到預定義的書籤中
我已經得到了這段代碼,我需要預先定義我在註冊表中獲得的全部數據的數組。宏將來自注冊表的每個子項的值存儲爲一個字符串。但是,除非書籤存在,否則不會將值插入到書籤中。那麼,無論如何,這是主意。
Public Sub TemplateData()
Dim objShell
Dim strShell
Dim strDataArea
Dim Values() As String
Dim Fields
' Input the exact same key as in registry
Fields = Array("DEPARTMENT", "LETTER", "LNAME", "FNAME")
Set objShell = CreateObject("Wscript.Shell")
strDataArea = "HKCU\Templates\"
On Error Resume Next
For iTeller = 0 To UBound(Fields)
Dim sBookMarkName, sValue
sBookMarkName = "Bookmark" & Fields(iTeller)
sValue = objShell.RegRead(strDataArea & Fields(iTeller))
Selection.GoTo What:=wdGoToBookmark, Name:=sBookMarkName
Selection.Delete Unit:=wdCharacter, Count:=0
Selection.InsertAfter sValue
Next
On Error GoTo 0
End Sub
如果我把底部的下一步斷點,我可以看到,它確實找到了書籤,但不知何故,直到找到正確的插入每一個註冊表子項的值。最初的想法是,如果我再次運行宏,宏就會刪除bookmkarks中的任何單詞,因爲如果註冊表中的數據得到更新,宏應該選擇它並將其插入到文檔中。
任何人都可以找到這裏可能是錯的嗎?