質問: word 2007のすべての相互参照に特定のスタイルを割り当てることはできますか? 追加するものは何もありません。すべてのスタイルを変更したいと思いますcross-references word 2007文書に一度にあります。しかし、私はそれを行う方法がわかりません。これはどのように行うことができますか?
回答: 押す alt+f9 フィールドコードを表示するには 次のマクロを使用して、charformatをすべての相互参照に追加します。このマクロは、まだ存在しない場合にのみ、フィールドに文字列を追加します。 sub setcharformat() ' ' set charformat switch to all {ref} fields. replace mergeformat. ' ' dim ofield as field dim orng as range for each ofield in activedocument.fields 'for each ofield in selection.fields if instr(1, ofield.code, "ref ") = 2 then if instr(1, ofield.code, "mergeformat") <> 0 then ofield.code.text = replace(ofield.code.text, "mergeformat", "charformat") end if if instr(1, ofield.code, "charformat") = 0 then ofield.code.text = ofield.code.text + "\* charformat " end if end if next ofield end sub このマクロを使用して、すべての相互参照を「微妙な参照」スタイルでフォーマットします(そのようなスタイルがあり、フィールドコードが表示されていることを確認してください)。 sub setcrossrefstyle() ' ' macro to set styole of all cross references to "subtle reference" ' ' selection.find.clearformatting selection.find.replacement.clearformatting selection.find.replacement.style = activedocument.styles( _ "subtle reference") with selection.find .text = "^19 ref" .replacement.text = "" .forward = true .wrap = wdfindcontinue .format = true .matchcase = false .matchwholeword = false .matchkashida = false .matchdiacritics = false .matchalefhamza = false .matchcontrol = false .matchwildcards = false .matchsoundslike = false .matchallwordforms = false end with selection.find.execute replace:=wdreplaceall end sub 押す alt+f9 フィールドコードを非表示にする