2016-08-29 8 views
1

VBAを使用してWordテンプレートでコメントテキストの書式を設定したいとします。次のコードを使用して簡単なテキストを追加できます。しかし、私はWord VBAのコメントテキストに、設定したテキストを太字、イタリック、スーパースクリプト、およびサブスクリプトを追加する方法は?

CommentText = "Test Bold: Bold Text & vbNewLine & Test Italic: Italic Text & vbNewLine & Test Bold Italic: Bold Italic Text & vbNewLine & Test Superscript: My BrandTM & vbNewLine & Test Subscript: H2O" 
Selection.Comments.Add Range:=Selection.Range 
With Selection 
     .TypeText (CommentText)      'Add comment text 
End With 

出力は以下の画像のようにする必要がありますテキストの書式を設定する方法がわからない:以下 enter image description here

答えて

2

コードは、選択したテキストにあなたのフォーマットされたコメントが追加されます。 Word 2007でテストされ、期待どおりに機能します。

ところで、今後同様のことをする必要がある場合は、マクロの録音を開始し、コメントを追加してから録音を停止してください。結果として得られるマクロコードは、あなたのところでほとんどの方法であなたを得るはずです。

Public Sub AddComment() 

    Selection.Comments.Add Range:=Selection.Range 

    With Selection 
    .TypeParagraph 

    .TypeText Text:="Test Bold: Bold Text" 
    .MoveLeft Unit:=wdCharacter, Count:=9, Extend:=wdExtend 
    .Font.Bold = wdToggle 
    .EndKey Unit:=wdLine 
    .Font.Bold = wdToggle 

    .TypeParagraph 

    .TypeText Text:="Test Italic: Italic Text" 
    .MoveLeft Unit:=wdCharacter, Count:=11, Extend:=wdExtend 
    .Font.Italic = wdToggle 
    .EndKey Unit:=wdLine 
    .Font.Italic = wdToggle 

    .TypeParagraph 

    .TypeText Text:="Test Bold Italic: Bold Italic Text" 
    .MoveLeft Unit:=wdCharacter, Count:=16, Extend:=wdExtend 
    .Font.Bold = wdToggle 
    .Font.Italic = wdToggle 
    .EndKey Unit:=wdLine 
    .Font.Italic = wdToggle 
    .Font.Bold = wdToggle 

    .TypeParagraph 

    .TypeText Text:="Test Superscript: My BrandTM" 
    .MoveLeft Unit:=wdCharacter, Count:=2, Extend:=wdExtend 
    .Font.Superscript = True 
    .EndKey Unit:=wdLine 
    .Font.Superscript = False 

    .TypeParagraph 

    .TypeText Text:="Test Subscript: H20" 
    .MoveLeft Unit:=wdCharacter, Count:=1 
    .MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend 
    .Font.Subscript = True 
    .EndKey Unit:=wdLine 
    .Font.Subscript = False 
    End With 

End Sub 
+0

これは本当に素晴らしい例です。しかし、私の場合、シーケンスは変更することができます。私は200要素の配列を持っています。いくつかのケースでは、太字のみが存在することがあり、場合によっては斜体のみが存在することもあります。私はちょうど少数のケースを管理し、あなたのコードを実行するためにループする必要があると思う。ありがとうございました。非常に便利です。 –

+0

私はあなたが言及した書式設定の各ビットを実行する例を提供していただけで、実際にあなたのコードをそのまま使用することは実際には期待できません。私の答えがあなたがどこにいる必要があるのを助けたら、それをAcceptedとしてマークしてくださいか?ありがとう。 – MJH

+0

うん!ありがとう。 –

関連する問題