gpt4 book ai didi

vba - 更改文本框的字体颜色

转载 作者:行者123 更新时间:2023-12-02 06:44:24 24 4
gpt4 key购买 nike

我想打开一个 Excel 文件,转到文件中的第一个工作表,然后将 textbox1 的文本颜色更改为红色。

到目前为止,我设法做到这一点的唯一方法是通过录制宏。

它给了我

Workbooks.Open (fPath & sName)

Sheets(1).Select

ActiveSheet.Shapes.Range(Array("TextBox1")).Select

With Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 262).Font.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(255, 0, 0)
.Transparency = 0
.Solid
End With

没关系;但是文本的长度是可变的,因此如果文本少于上面的 262 个字符,我会收到代码错误。

我试图介绍

CharCount = Len(textbox1.Text)

但是我收到错误 424 Object required

我最初尝试过

Sheets(1).Select
ActiveSheet.TextBox1.ForeColor = RGB(255, 0, 0)

但出现错误 438 对象不支持此属性或方法。

最佳答案

如果您想更改整个文本框的字体颜色(即不仅仅是某些字符),请跳过 Characters 方法。另外,您不应该依赖 .SelectActiveSheet 等。相反,请设置适当的引用。

这有效:

Dim wb As Workbook
Dim ws As Worksheet
Dim s As Shape

Set wb = Workbooks.Open(fPath & sName)
Set ws = wb.Sheets(1)
Set s = ws.Shapes("TextBox 1")

s.TextFrame2.TextRange.Font.Fill.ForeColor.RGB = RGB(255, 0, 0)

关于vba - 更改文本框的字体颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28960875/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com