我在Excel VBA中有一个报告生成器,到目前为止一直有效.它读取一些输入数据并生成格式化的Excel工作表作为结果.本表的最后一列填充了某种自由文本.
现在,有时自由文本不适合最后一列,它太宽了.由于此报告的所有行的行高都是固定的,因此我无法range.WrapText=True为此列设置(要让文本保持可见,必须增加行高).手动(非VBA)解决方案很简单:将文本分成几个部分并将其分布在不同的行上.例如:
A | B |C
content |This text is too wide for column B.
here |This text fits. |
is | |
fixed | |
Run Code Online (Sandbox Code Playgroud)
应该转化为
A | B |C
content |This text is too |
here |wide for column |
is |B. |
fixed |This text fits. |
Run Code Online (Sandbox Code Playgroud)
如果我能够使用VBA确定B列中内容的实际文本宽度(使用比例字体!),我可以轻松编写代码.range.ColumnWidth给出了列的实际宽度,但我不知道如何确定"此文本对于列B来说太宽".在VBA中.有什么建议?
(我目前正在使用Excel 2002/XP).