3

このマクロには多くの問題があります:

 ActiveDocument.CopyStylesFromTemplate NormalTemplate.FullName
    With Selection
        .Style = ActiveDocument.Styles("Normal")
        .Range.HighlightColorIndex = 0
        .Font.Shading.Texture = wdTextureNone
        .Font.Name = ActiveDocument.Styles("Normal").Font.Name
        .Font.Size = ActiveDocument.Styles("Normal").Font.Size
    End With

次のような行で完全に機能します。このテキストは、太字や斜体なしでフォーマットする必要があります。

このテキストは、太字や斜体を使用せずに書式設定する必要があります。

ただし、最後の文字の直前まで選択して実行した場合にのみ機能します。行をダブルクリックするか、行全体を手動で選択してマクロを実行しても、まったく効果がないようです。

これを引き起こしている可能性のあるアイデア、または選択範囲内の太字/斜体のテキストを削除し、すべてのテキストを通常のスタイル/フォントに変換するために使用する必要がある別の方法がある場合は?

編集: これは、マクロ メニューから手動で実行すると正常に動作するため、キーボード ショートカットからマクロを実行することに関係している可能性があります。

4

2 に答える 2

3

すべてのフォーマットをクリアしたい場合は、次のことをお勧めします。

With Selection
    .ClearFormatting
End With

これにより、段落スタイルが標準にリセットされ、すべてのフォントと属性 (設定しようとしたもの) がリセットされます。選択範囲を含む段落の段落スタイルがリセットされることに注意してください (したがって、段落内の単語を 1 つだけ選択した場合でも、段落のスタイルはリセットされます)。

参照: MSDN: Selection.ClearFormatting

追加したときは違いはわかりませんでした ActiveDocument.CopyStylesFromTemplate NormalTemplate.FullNameが、これはドキュメントの複雑さに依存すると思います。

于 2013-06-23T00:49:46.253 に答える
0

問題は、私が使用していたテンプレートの以前の開発者による不十分なドキュメントであることが判明しました。私は単に間違ったマクロを編集していたため、修正が何も表示されなかったにもかかわらず、欠陥のあるマクロから部分的に正しい結果が得られました。

于 2013-06-23T02:39:10.453 に答える