module RPA.Excel.Application

class RPA.Word.Application.Application

Application(autoexit: bool = True)

Word.Application is a library for controlling the Word application.


Robot Framework


from RPA.Word.Application import Application app = Application() app.open_application() app.open_file('old.docx') app.write_text('Extra Line Text') app.save_document_as('new.docx') app.quit_application()


This library works on a Windows operating system with UI enabled only, and you must ensure that you open the app first with Open Application before running any other relevant keyword which requires to operate on an open app. The application is automatically closed at the end of the task execution, so this can be changed by importing the library with the autoexit=${False} setting.

If you’re running the Process by Control Room through a custom self-hosted Worker service, then please make sure that you enable an RDP session by ticking “Use Desktop Connection” under the Step configuration.

If you still encounter issues with opening a document, please ensure that file can be opened first manually and dismiss any alert potentially blocking the process.

Check the documentation below for more info:


APP_DISPATCH = 'Word.Application'


FILEFORMATS = {'DEFAULT': 'wdFormatDocumentDefault', 'HTML': 'wdFormatHTML', 'OPENDOCUMENT': 'wdFormatOpenDocumentText', 'PDF': 'wdFormatPDF', 'RTF': 'wdFormatRTF', 'WORD97': 'wdFormatDocument97'}





property app

property app

method close_document

close_document(save_changes: bool = False)

Close the active document and app (if open).

  • Parameters: save_changes – Enable changes saving on quit. (False by default)

method copy_selection_to_clipboard


Copy current text selection to clipboard.

method create_new_document


Create new document for Word application

method export_to_pdf

export_to_pdf(filename: str)

Export active document into PDF file.

  • Parameters: filename – PDF to export WORD into

method find_text

find_text(text: str, cursor_position: CursorPosition = CursorPosition.NO_MOVE, copy: bool = False)

Find text in the document.

  • text – text to find
  • cursor_position – where to move cursor after finding text
  • copy – copy found text into clipboard
  • Raises: AssertionError – if text is not found

method get_all_texts


Get all texts from active document

  • Returns: texts

method get_current_line


Get the text of the current line in the document.

method get_number_of_lines


Get the number of lines in the document.

method move_horizontally

move_horizontally(characters: int = 0)

Move cursor horizontally from current cursor position.

Remember that if cursor is already at the start the cursor can’t move left and if cursor is already at the end the cursor can’t move right.

  • Parameters: characters – characters to move

method move_to_end


Move cursor to the end of the document.

method move_to_line_end


Move cursor to end of the line on the current cursor position.

method move_to_line_start


Move cursor to start of the line on the current cursor position.

method move_to_top


Move cursor to the top of the document.

method move_vertically

move_vertically(lines: int = 0)

Move cursor vertically from current cursor position.

Remember that if cursor is already at the top the cursor can’t move up and if cursor is already at the bottom the cursor can’t move down.

  • Parameters: lines – lines to move

method open_application

open_application(visible: bool = False, display_alerts: bool = False)

Open the application.

  • visible – Show the window on opening. (False by default)
  • display_alerts – Display alert popups. (False by default)

method open_file

open_file(filename: str, read_only: bool = True)

Open Word document with filename.

  • Parameters: filename – Word document path

method paste_from_clipboard


Paste content from clipboard to the document’s current cursor position.

method quit_application

quit_application(save_changes: bool = False)

Quit the application.

  • Parameters: save_changes – Enable to save changes on quit. (False by default)

method replace_text

replace_text(find: str, replace: str)

Replace text in active document

  • find – text to replace
  • replace – new text

method save_document


Save active document

method save_document_as

save_document_as(filename: str, fileformat: Optional[str] = None)

Save document with filename and optionally with given fileformat

  • filename – where to save document
  • fileformat – see @FILEFORMATS dictionary for possible format, defaults to None

method select_current_paragraph


Select text in current active paragraph.

method select_paragraph

select_paragraph(count: int = 1)

Select paragraph(s) from current cursor position.

Negative count moves cursor up number of paragraphs and positive count moves cursor down number of paragraphs.

  • Parameters: count – number of paragraphs to select

method set_footer

set_footer(text: str)

Set footer for the active document

  • Parameters: text – footer text to set

method set_header

set_header(text: str)

Set header for the active document

  • Parameters: text – header text to set

method set_object_property

set_object_property(object_instance, property_name: str, value: str)

Set the property of any object.

This is a utility keyword for Robot Framework syntax to set object property values.

  • object_instance – object instance to set the property
  • property_name – property name to set
  • value – value to set

method write_text

write_text(text: str, cursor_position: CursorPosition = CursorPosition.NO_MOVE, end_of_text: bool = True)

Writes given text at the end of the document

  • text – string to write
  • cursor_position – where to move cursor before writing
  • end_of_text – if True moves cursor to the end of the text before writing