【发布时间】:2018-12-29 02:17:15
【问题描述】:
我已更新到 Excel 2016,以下在 Excel 2011 中运行的代码会生成此错误。
Dim Commnt As Comment
For Each Commnt In Application.ActiveSheet.Comments ' Autosize all comment boxes on the sheet
Commnt.Shape.TextFrame.AutoSize = True
Next
在 Excel 2016 中自动调整所有工作表 cmets 的任务是如何完成的?
经过进一步研究,我尝试了以下但没有成功。
Dim Shp As Shape
For Each Shp In wks1.Shapes
With Shp.TextFrame2
.AutoSize = msoAutoSizeShapeToFitText
.WordWrap = msoTrue
End With
Next Shp
【问题讨论】:
-
这是一个奇怪的错误,因为 TextFrame 不是方法而是属性。
-
如果你使用
TextFrame2,你会得到同样的错误吗?这个错误是发生在所有 cmets 上还是只发生在其中一部分上? -
在您发布的代码的 sn-p 中,您有七个可能导致该错误的原因。第一行中的
Application、ActiveSheets或Comments,或Commnt、Shape或TextFrame均无效(前六个),或AutoSize不作为TextFrame(第七个)。使用调试器找出导致问题的原因。 -
您的第二次尝试是迭代
Shapes集合,而不是Comments集合。 -
虽然用下面给出的答案尝试它,它也不起作用。
标签: excel vba macos excel-2016