2024-10-01 09:37:21 发布
网友
我正在使用python在word表上工作,我正在生成表,但它们都是
自动调整窗口。。在
是否可以将其更改为自动调整内容?在
我试过这样的方法:
table = location.Tables.Add(location,len(df)+1,len(df.columns) table.AutoFit(AutoFitBehavior.AutoFitToContents)
但它不断地提出错误
您要更改表创建以使用此选项:
//''#Add two ones after your columns table = location.Tables.Add(location,len(df)+1,len(df.columns),1,1)
有关为什么需要这些变量的信息可以在这里阅读:
http://msdn.microsoft.com/en-us/library/office/ff845710(v=office.15).aspx
但基本上,默认行为是禁用单元格自动调整并使用表自动调整到窗口。第一个“1”启用单元格自动拟合。从我上面发布的链接来看,DefaultTableBehavior可以是wdWord8TableBehavior(禁用自动调整的默认值)或{}(启用自动调整)。数字来自打开Word的VBA编辑器并在即时窗口中键入:
wdWord8TableBehavior
接下来,从链接中,我们看到另一个名为AutoFitBehavior的选项。这被定义为:
AutoFitBehavior
Sets the AutoFit rules for how Word sizes tables. Can be one of the WdAutoFitBehavior constants.
WdAutoFitBehavior
所以现在我们要查另一个术语。在VBA编辑器的即时窗口中再次键入:
?Word.wdAutoFitBehavior.
在最后一个点之后,可能的选项应该出现。这些将是:
AutoFitContent看起来是我们想要的选项,所以让我们用以下内容结束上一行:
AutoFitContent
?Word.wdAutoFitBehavior.wdAutoFitContent
结果是“1”。在
现在你可能会问,为什么我们要费尽心思去寻找这些数值的数值表示。根据我的经验,在Excel中使用pywin32时,大多数情况下无法从字符串中获取内置值。但用数值表示法是一样的。在
另外,代码失败的另一个原因是table对象可能没有函数“Autofit”。在
我使用的是word2007,Table具有函数AutoFitBehavior。 所以改变一下:
table.AutoFit(AutoFitBehaviour.AutoFitToContent)
收件人:
table.AutoFitBehavior(1) //''Which we know the 1 means wd.wdAutoFitBehavior.wdAutoFitContent
希望我做对了,这对你有帮助。在
您要更改表创建以使用此选项:
有关为什么需要这些变量的信息可以在这里阅读:
但基本上,默认行为是禁用单元格自动调整并使用表自动调整到窗口。第一个“1”启用单元格自动拟合。从我上面发布的链接来看,DefaultTableBehavior可以是}(启用自动调整)。数字来自打开Word的VBA编辑器并在即时窗口中键入:
^{pr2}$wdWord8TableBehavior
(禁用自动调整的默认值)或{接下来,从链接中,我们看到另一个名为
AutoFitBehavior
的选项。这被定义为:所以现在我们要查另一个术语。在VBA编辑器的即时窗口中再次键入:
在最后一个点之后,可能的选项应该出现。这些将是:
AutoFitContent
看起来是我们想要的选项,所以让我们用以下内容结束上一行:结果是“1”。在
现在你可能会问,为什么我们要费尽心思去寻找这些数值的数值表示。根据我的经验,在Excel中使用pywin32时,大多数情况下无法从字符串中获取内置值。但用数值表示法是一样的。在
另外,代码失败的另一个原因是table对象可能没有函数“Autofit”。在
我使用的是word2007,Table具有函数
AutoFitBehavior
。 所以改变一下:收件人:
希望我做对了,这对你有帮助。在
相关问题 更多 >
编程相关推荐