文本框的下划线属性与其他

时间:2016-07-15 16:54:14

标签: excel vba excel-vba

我只想使用VBA在工作表文本框中为某个特定字符添加下划线。它应该非常简单,我可以毫无问题地使用Bold和Italic。

我有以下子

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

代码在最后一行失败,这非常奇怪,因为它适用于前两行。错误(1004)表示类似"无法定义Font属性的下划线功能"。

要重新创建问题,请将我的子文件转到新的Excel文档,然后创建一个名为" txt_1"的文本框,这就是运行它所需的全部内容。

如果有人知道它失败的原因,请帮忙!

2 个答案:

答案 0 :(得分:5)

您需要定义下划线样式。走你的最后一行 txt1.TextFrame.Characters.Font.Underline = xlUnderlineStyleSingle

答案 1 :(得分:3)

使用TextFrame2作为下划线

txt1.TextFrame2.TextRange.Font.UnderlineStyle = msoUnderlineSingleLine