vba - 如何在不选择形状的情况下使用 VBA 在 Excel 中更改文本大小?

标签 vba excel

我正在尝试使用 VBA 更改 Excel 文本框中的文本大小。我目前有以下代码:

ActiveSheet.Shapes.Range(Array("textEnemy")).Visible = True
ActiveSheet.Shapes.Range(Array("textEnemy")).Select
With Selection.ShapeRange(1).TextFrame2.TextRange.Characters
    .Text = msg
    For i = 1 To 15
        .Font.Size = i * 10
        Call WasteTime(50)
    Next
End With
ActiveSheet.Shapes.Range(Array("textEnemy")).Visible = False

此代码使文本的大小增加动画,然后消失。问题是当我运行此代码时,文本框被选中(它周围有一个框)。如何在不选择文本框/在其周围显示选择边框的情况下实现相同的目标?

谢谢!

最佳答案

正如@findwindow 所说:

With ActiveSheet.Shapes.Range(Array("textEnemy"))

    .Visible = True

    With .ShapeRange(1).TextFrame2.TextRange.Characters
        .Text = msg
        For i = 1 To 15
            .Font.Size = i * 10
            Call WasteTime(50)
        Next
    End With

    .Visible = False

End With

关于vba - 如何在不选择形状的情况下使用 VBA 在 Excel 中更改文本大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36296433/

相关文章:

excel - 我的 VBA 代码每次迭代都会变慢

python - 从 VBA 调用 Python (Winwrap)

Excel HTTP 获取超时

excel - 刻度标签数字格式excel

excel - 使用 Excel VBA 抓取 HTML 时的 #N/A 值

excel - 如何在 Excel 中为以下条件编写嵌套 if 函数

node.js - 如何使用 Homebrew 降级或安装旧版本或特定版本的 Node ?

excel - 使无框用户窗体透明

Excel VLOOKUP N/A 错误

c# - 使用 ADO.NET (OleDb) 创建 Excel 工作表 --> 支持哪些数据类型?