djinn Posted November 29, 2020 Posted November 29, 2020 Hello, I'm trying to find & replace words in a MS word file, but the file is composed with text zone, image...Check the file in attachment please. As an example i did this code : #Include<file.au3> #include <MsgBoxConstants.au3> #include <AutoItConstants.au3> #include <Word.au3> #include <GUIConstants.au3> Global $fileword = ("C:\Users\rapha\OneDrive\Documents\Autoit\test Booking Confirmation.docx") Local $oWord = _Word_Create() Local $oDoc =_Word_DocOpen ($oWord,$fileword) $checkin = "1111111" _Word_DocFindReplace ($oDoc, "check in",$checkin) any clue ? Thx !test Booking Confirmation.docx
Nine Posted November 29, 2020 Posted November 29, 2020 Working for me. BTW the document you provided has "check in" already replace with "1111111" ! “They did not know it was impossible, so they did it” ― Mark Twain Spoiler Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Debug Messages Monitor UDF Screen Scraping Round Corner GUI UDF Multi-Threading Made Easy Interface Object based on Tag
Moderators Melba23 Posted November 29, 2020 Moderators Posted November 29, 2020 Moved to the appropriate forum. Moderation Team Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
water Posted November 30, 2020 Posted November 30, 2020 You need to check @error and @extended after each function call. They tell you what went wrong. My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
djinn Posted November 30, 2020 Author Posted November 30, 2020 Hi thanks for your answer. But, @error =0 and @extended =3 It doesn't help me so much 😞
water Posted December 1, 2020 Posted December 1, 2020 You first need to select the Shape to modify. _Word_DocFindReplace by default just processes the main story of the document. You need something like this: #include <MsgBoxConstants.au3> #include <Word.au3> Global $sDocument = (@ScriptDir & "\Test Booking Confirmation.docx") Global $sReplace = "1111111" Global $oWord = _Word_Create() If @error Then Exit MsgBox($MB_ICONERROR, "Error", "Error opening MS Word. @error=" & @error & ", @extended=" & @extended) Global $oDoc = _Word_DocOpen($oWord, $sDocument) If @error Then Exit MsgBox($MB_ICONERROR, "Error", "Error opening the document. @error=" & @error & ", @extended=" & @extended) ; Select the textfield to modify Global $aSelect[] = ["Zone de texte 2"] $oWord.ActiveDocument.Shapes.Range($aSelect).Select ; Modify the textfield _Word_DocFindReplace($oDoc, "check in", $sReplace, Default, -1) If @error Then Exit MsgBox($MB_ICONERROR, "Error", "Error changing the document. @error=" & @error & ", @extended=" & @extended) My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now