Excel VBAでより大きなプロジェクトを作成していて、次の問題が発生しました。私はVBAを使ってExcelをMS Wordでテンプレートをコンパイルするようにしています。私は、黄色のテンプレートで特定のフレーズを強調したいと思っていました。それはある時点で働いていましたが、明らかに理由がなくなってから停止しました。私が今コードを実行すると、パーツはエラーなく実行されますが、テンプレート内にあると確信していても、その単語は強調表示されません。 debug.printを使用して.replacement.highlight値の値を調べ、イミディエイトウィンドウに9999999、ブレークモードで式にマウスカーソルを合わせると-1が表示されます。いずれかで何が起こっているか知っていMS WordでVBAの.replacement.highlight = trueが有効にならない
Dim WdApp As Word.Application
Set WdApp = New Word.Application
With WdApp
.ActiveDocument.Select
With .Selection.Find
'the code creating the document and writing the template continues here
.ClearFormatting
.Text = "{Optional: Please also confirm the terms of transactions and other key information (for example: rights of return, allowances and rebates, special agreements, payment terms, incoterms, etc.) which may affect the accounting for the transactions.}"
.Replacement.Highlight = True
.Execute Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindContinue
.ClearFormatting
.Text = PlaceholderAdditionalInfoRequest
.Replacement.Text = .Text
.Replacement.Highlight = True
.Execute Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindContinue
.ClearFormatting
.Text = "<<<@@@Client's [email protected]@@>>>"
.Replacement.Text = .Text
.Replacement.Highlight = True
.Execute Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindContinue
.ClearFormatting
.Text = "{Optional: A statement of account with the above invoices marked is attached. ALTERNATIVELY: Copies of the above invoices are attached.}"
.Replacement.Highlight = True
.Execute Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindContinue
End With
End With
:
は、コードの関連フラグメントを下に引用されていますか?私は、特に単純な英語で表現されていれば、どんな指摘にも感謝しています:)私はVBAには新しく、プログラミングで正式な教育を受けていません。
敬具、
新米
私はあなたのコードを試していませんが、.Replacement.Highlightを設定する前に ".Replacement.ClearFormatting"と.ClearFormattingを試してみましたか? (ちょっとしたことがあってはならない時に何かが「こだわる」) –