レジストリに現在のユーザーのデータがあります。これは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
私は下の次にブレークポイントを置いた場合、私はそれが実際にしおりを見つけたが、それは正しいものを見つけるまで何とかそれはすべてのレジストリサブキーの値を挿入していることがわかります。そして、最初のアイデアは、レジストリ内のデータが更新された場合、マクロがそれを取り出して文書に挿入する必要があるため、マクロを再度実行すると、ブックマーク内の単語を削除することです。
ここで間違っていると思われるものは誰でも見つかりますか?