Tous,En utilisant win32com et les cellules à MERGE unmerge
J'ai une table dans un document Word qui contient cellules fusionnées. Je voudrais annuler la fusion ces cellules en utilisant le package win32com. Un exemple de ceci est lorsque ROW 1 contient 5 cellules, et ROW 2 contient 6 cellules. Idéalement, je voudrais annuler la fusion de toutes les cellules fusionnées dans ROW 1 de telle sorte que les cellules non fusionnées s'alignent avec ROW 2 et que les données soient affichées dans la cellule la plus à gauche de la plage non fusionnée résultante.
Exemple:
(Fusionné)
+++++++++++++++++++++++++++++++++++++
|hi |bye | |Hello |none |
+++++++++++++++++++++++++++++++++++++
|1 |21 |23 |good |bye |3 |
+++++++++++++++++++++++++++++++++++++
(défusionnée)
+++++++++++++++++++++++++++++++++++++
|hi |bye | |Hello| |none |
+++++++++++++++++++++++++++++++++++++
|1 |21 |23 |good |bye |3 |
+++++++++++++++++++++++++++++++++++++
Dans le tableau avec fusionné cellules, il y a un total de cellules. Dans le tableau non fusionné, il y a cellules.
Toutes les idées sur la façon de procéder. La documentation pour le module win32com est assez clairsemée, et le peu qui semble exister est bloqué pendant que je suis au travail.
L'aide serait grandement appréciée.
+++ ------------------------------------------- ------------------------------- +++
Détails supplémentaires:
Je suis apportant mes données comme ceci:
#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
Je prends alors les tables sur le fichier en utilisant le code suivant:
#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
Là où je suis bloqué est que:
table(1).Rows(1).Cells.Count != table(1).Rows(2).Cells.Count
Dans ce cas, la première ligne a 10 cellules tandis que la seconde ligne a 18 cellules. Sans pouvoir diviser ces cellules fusionnées, le reste de mon code ne peut pas s'exécuter.