所有人
我在一个包含合并单元格的Word文档中有一个表格。我想使用win32com包取消合并这些单元格。在
例如,第1行包含5个单元格,第2行包含6个单元格。在
理想情况下,我希望取消合并第1行中的所有合并单元格,使未合并的单元格与第2行对齐,并使数据显示在生成的未合并范围的最左侧单元格中。在
示例:
(合并)+++++++++++++++++++++++++++++++++++++
|hi |bye | |Hello |none |
+++++++++++++++++++++++++++++++++++++
|1 |21 |23 |good |bye |3 |
+++++++++++++++++++++++++++++++++++++
(未合并)
^{pr2}$
在包含合并单元格的表格中,总共有11个单元格。在未合并的表格中,有12个细胞。在
有什么办法吗。win32com模块的文档非常稀少,在我工作的时候,几乎不存在的东西被屏蔽了。在
我们将不胜感激。在
+++-----------------------------------------------------------------------------------+++
其他详细信息:
我是这样把我的数据带进来的:#Opens an instance of MS Word in the background, then accesses the referenced
#file.
path = "string containing directory name"
Word = win32.Dispatch("Word.Application")
Word.Visible = False
Word.Documents.Open(path)
#Creates a com element containing access to the document contents of the file referenced above
MT_doc = Word.ActiveDocument
然后,我使用以下代码从文件中获取表:#Determins the number of tables in the Word Document and outputs a table
#element to "table"
num_tables = MT_doc.Tables.Count
table = MT_doc.Tables
我陷入困境的地方是:table(1).Rows(1).Cells.Count != table(1).Rows(2).Cells.Count
在这种情况下,第一行有10个单元格,而第二行有18个单元格。如果不能拆分这些合并的单元格,我的其余代码将无法执行。在