2016-07-15 19 views
0

VBAを使用して特定の文字から別の文字にワークシートのテキストボックスにテキストを下線付けるだけです。それは非常にシンプルでなければならず、私は太字とイタリックで問題なくそれを行うことができます。テキストボックスの下線プロパティが他のものと同じように機能しない

私はサブ

Sub ew() 
    Dim txt1 As Shape 
    Set txt1 = Sheet1.Shapes("txt_1") 
    txt1.TextFrame.Characters.Text = "Bold and Underline this" 

    txt1.TextFrame.Characters.Font.Bold = True 
    txt1.TextFrame.Characters.Font.Italic = True 
    txt1.TextFrame.Characters.Font.Underline = True 
End Sub 

次のコードは、それが2つの前の行のために働いていたので、非常に奇妙である最後の行に失敗しています。エラー(1004)は、「FontプロパティのUnderline関数を定義することは不可能です」と言っています。

問題を再現するには、新しいExcelドキュメントを作成し、「txt_1」という名前のテキストボックスを作成します。これは、これを実行するだけです。

なぜ失敗するのか誰かが知っていれば、助けてください!

+0

http://answers.microsoft.com/en-us/office/forum/office_2007-access/underline-specific-words-in-text-box/cf2bf9ac-a1f3-42bf-a51e -f530ae907a06?auth = 1これはあなたを助けますか? –

答えて

3

使用TextFrame2下線

txt1.TextFrame2.TextRange.Font.UnderlineStyle = msoUnderlineSingleLine

+0

'TextFrame2'は、あなたが本当に気に入らなければならない場合、より多くのUnderLineスタイルを提供します。 :) – cyboashu

5

のためにあなたは、下線のスタイルを定義する必要があります。あなたの最後の行を取る txt1.TextFrame.Characters.Font.Underline = xlUnderlineStyleSingle

+0

ああ..私は今noobのように感じています:) –

+0

他のスタイルへのリンクがあります:https://msdn.microsoft.com/en-us/library/office/aa215913%28v=office.11​​%29。 aspx – Tim

関連する問題