星期五, 一月 19, 2007

Tips,VBA里如何扩展一个文本框TextBox的的长度,超过255限制

这个真是终极方法。

因为VBA里TextBox对象通过程序操作,只能复制最多256个字符。但通过UI确可以操作基本上
没限制的字符操作,真是邪门。

最终发现程序实现,无限制文本框操作技巧

Dim ctl1 As Shape
datasheetName = "Sheet1"
MyStr ="有1千个字符"

On Error Resume Next'如果不存在,删除会出错
Sheets("Sheet1").Shapes("recommend").Delete

Set ctl1 = Sheets("Sheet1").Shapes.AddTextbox(msoTextOrientationHorizontal, 0, 200, 450, 500)
ctl1.TextFrame.Characters.Text = left(MyStr,200)
ctl1.Name = "recommend"

'注意代码,perfect
For a = 1 To WorksheetFunction.Ceiling(Len(MyStr) / 200, 1)
ctl1.TextFrame.Characters((a * 200) + 1).Insert String:=Mid(MyStr, (a * 200) + 1, 200)
Next a


For Each ctl In Sheets(datasheetName).Shapes
Debug.Print TypeName(ctl) & " " & Left(ctl.Name, 8)
Next