すべてのキャプションをあるタイプから別のタイプに変更したいと思います。他のファイルされたコードを誤って変更しないでください。
私が思いついたプロセスは 2 つのステップです。まず、フィールド コード内のテキストとその前のテキストを変更します。
つまり、から
テーブル { SEQ テーブル * ARABIC }
に
数字 { SEQ 数字 * ARABIC }
手動編集を試してみましたが、内部のタイプを変更しても、フィールドの外側のラベルは自動的に変更されません。
テキストを変更するには、検索/置換を使用します。これは正常に機能します。
With Selection.Find
.Style = ActiveDocument.Styles("Caption")
.Text = "Figure"
.Replacement.Text = "Table"
.Forward = True
.Wrap = wdFindContinue
End With
Selection.Find.Execute Replace:=wdReplaceAll
フィールド コード自体を実行するには、問題が発生しています。次のコードは変更を実行します。
Dim rngTemp As Range
Set rngTemp = ActiveDocument.Fields(1).Code
rngTemp.Text = " SEQ Figure \* ARABIC "
ActiveDocument.Fields(1).Update
ただし、特定のタイプのフィールド、つまりキャプションのみが変更されるかどうかはわかりません。コードはインデックス番号に基づいてフィールドを変更します。
また、for/each で番号を i に置き換えてループさせるのにも問題があります。「オブジェクトはこのメソッドをサポートしていません」というエラーが表示されます
どんな助けでもありがとうございます。