带有python的ms单词表
我正在使用python处理单词表,我正在生成表,但它们都是
自动调整窗口..
是否可以将其更改为自动调整内容?
我曾尝试过这样的事情:
table = location.Tables.Add(location,len(df)+1,len(df.columns)
table.AutoFit(AutoFitBehavior.AutoFitToContents)
但它不断引发错误
我正在使用python处理单词表,我正在生成表,但它们都是
自动调整窗口..
是否可以将其更改为自动调整内容?
我曾尝试过这样的事情:
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
但基本上,默认行为是禁用 Cell Autofit 和 Use Table Autofit to Window。第一个“1”启用单元自动拟合。从我上面发布的链接中,DefaultTableBehavior 可以是wdWord8TableBehavior
(禁用自动调整 --default)或wdWord9TableBehavior
(启用自动调整)。该数字来自打开 Word 的 VBA 编辑器并在即时窗口中输入:
?Word.wdWord9TableBehavior
接下来,从链接中,我们看到另一个名为AutoFitBehavior
. 这被定义为:
为 Word 如何调整表格大小设置自动调整规则。可以是
WdAutoFitBehavior
常数之一。
所以现在我们要查找另一个术语。在 VBA 编辑器的立即窗口中再次键入:
?Word.wdAutoFitBehavior.
在最后一个点之后,应该出现可能的选项。这些将是:
AutoFitContent
看起来是我们想要的选项,所以让我们用以下内容结束前一行:
?Word.wdAutoFitBehavior.wdAutoFitContent
结果将是“1”。
现在您可能会问,为什么我们必须经历所有这些麻烦才能找到值的数字表示。根据我的经验,在 Excel 中使用 pywin32 时,大多数情况下您无法从字符串中获取内置值。但是输入数字表示也是一样的。
此外,您的代码可能失败的另一个原因是表对象可能没有“自动调整”功能。
我正在使用 Word 2007,并且 Table 具有功能,AutoFitBehavior
. 所以改变:
table.AutoFit(AutoFitBehaviour.AutoFitToContent)
至:
table.AutoFitBehavior(1)
//''Which we know the 1 means wd.wdAutoFitBehavior.wdAutoFitContent
希望我做对了,这可以帮助你。