C# 在Word文档中自动调整形状
如何使用C#或vba(Word 2013)在Word文档中自动调整C# 在Word文档中自动调整形状,c#,vba,ms-word,vsto,C#,Vba,Ms Word,Vsto,如何使用C#或vba(Word 2013)在Word文档中自动调整形状 我尝试过使用shape.Textframe.autosize属性,但它不起作用。在Excel中它可以工作,但在word中它会抛出错误 “指定的值超出范围。” 上面的代码没有任何作用 shape.TextFrame2.AutoSize = Microsoft.Office.Core.MsoAutoSize.msoAutoSizeShapeToFitText; 上面的代码引发 "The specified value is o
形状
我尝试过使用shape.Textframe.autosize
属性,但它不起作用。在Excel中它可以工作,但在word中它会抛出错误
“指定的值超出范围。”
上面的代码没有任何作用
shape.TextFrame2.AutoSize = Microsoft.Office.Core.MsoAutoSize.msoAutoSizeShapeToFitText;
上面的代码引发
"The specified value is out of range."
我需要在Word文件中自动调整形状以适应其中的文本。Word中的代码与Excel或PowerPoint中的代码不一样的原因是Word的对象模型不支持
TextFrame2
的属性。(最近在Word 365中测试过)它只支持TextFrame
。而TextFrame
的AutoSize
只支持True/False,而不支持MsoAutoSize
枚举
TextFrame.AutoSize的文档:
TextFrame2.自动调整大小的文档:
请注意,这两个都适用于Excel(截至此日期,当前适用于365,这意味着晚于Office 2013)。Word没有TextFrame2
文档。Word的对象模型接受它作为Shape
对象的属性,但如果代码尝试使用TextFrame2
的任何属性或方法,则会导致错误。例如,不可能使用ActiveDocument.Shapes(1).TextFrame2.TextRange.Text
对于C#:请记住,True的等效值是-1(不是1)。False总是0
"The specified value is out of range."