Skip to content Skip to sidebar Skip to footer

Word : Deleting Lines In Between A Table And A Heading Using Python

I have a scenario in which there is a Heading/Constant Text like 'Call Tree:' present all over the Word document and after that there are some lines, and once the line are over, th

Solution 1:

You can iterate over the lines after you find the text using MoveRight and EndKey, then you can test if the selection is a table using the property Tables. Someting like

import win32com.client as com
from win32com.client import constants as wcons

app = com.Dispatch('Word.Application')
# Find the text
app.Selection.Find.Execute('Call Tree',
        False, False, False, False, False,
        True, wcons.wdFindContinue, False,
        False,False,)
# Extend the selection to the end
app.Selection.EndKey(Unit=wcons.wdLine)
whileTrue:
    # Move the selection to the next character
    app.Selection.MoveRight(Unit=wcons.wdCharacter, Count=1)
    # And Select the whole line
    app.Selection.EndKey(Unit=wcons.wdLine, Extend=wcons.wdExtend)
    # If I hit the table...if app.Selection.Tables.Count:
        print"Table found... Stop"# I leave the loopbreak# Otherwise delete the selectionprint"Deleting ...",app.Selection.Text
    app.Selection.Delete()
    # And delete the return
    app.Selection.TypeBackspace()

I would recommend trying to do what you want first in word using macros (Try recording the macros if you are not familiar with VBA) and then translate the code to Python.

Post a Comment for "Word : Deleting Lines In Between A Table And A Heading Using Python"