boein Posted January 12, 2015 Posted January 12, 2015 Hi All, Pasting a word document as a word-object as an icon into an active word document does not seem to work. When pasting, the content of the word document is pasted instead of the word-file object. Also word seems to open this "pasted" document resulting in open-file problems when closing word. I can do it the basic autoit-way using send keys - and focus on windows (focus on word - Paste special - Paste as file display as icon) ... but I would prefer using COM-objects. This is what I have so far. It works but whatever datatype I try word always pastes the content and opens that document, I only want the pasted word as an embedded object. Anybody ideas? #include <GUIConstantsEx.au3> #include <MsgBoxConstants.au3> #include <WindowsConstants.au3> #include <Misc.au3> $obj=Objget("","Word.Application") $obj.visible = true $ad=$obj.activedocument _ClipPutFile ( "c:testdoc.doc") $ad.range.pastespecial DisplayAsIcon:=true, datatype:=1
water Posted January 12, 2015 Posted January 12, 2015 Welcome to AutoIt and the forum! Did you have a look at the Word UDF that comes with AutoIt? Makes working with Word much easier. Another hint: Please enclose script code in AutoIt code tags (the blue "A") in the editor. Will greatly enhance readability. I will have a look at your problem as soon as I get to a computer with Word installed. 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
water Posted January 12, 2015 Posted January 12, 2015 AutoIt does not support parameters by name. So you need to specifiy all parameters in sequence. Parameters you do not want to specify need to be replaced with the "Default" keyword. Global Const $wdPasteOLEObject = 0 ; Method: PasteSpecial(IconIndex, Link, Placement, DisplayAsIcon, DataType, IconFileName, IconLabel) $ad.range.PasteSpecial(Default, Default, Default, True, $wdPasteOLEObject) I'm not sure you want to copy the file as RTF but as OLE. 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
boein Posted January 14, 2015 Author Posted January 14, 2015 (edited) AutoIt does not support parameters by name. So you need to specifiy all parameters in sequence. Parameters you do not want to specify need to be replaced with the "Default" keyword. Global Const $wdPasteOLEObject = 0 ; Method: PasteSpecial(IconIndex, Link, Placement, DisplayAsIcon, DataType, IconFileName, IconLabel) $ad.range.PasteSpecial(Default, Default, Default, True, $wdPasteOLEObject) I'm not sure you want to copy the file as RTF but as OLE. Thanks for pointing me to the right direction $ad.range.PasteSpecial(Default, Default, Default, True, $wdPasteOLEObject) did not work, not all parameters were used ("iconlabel" in this case) using $ad.range.PasteSpecial (Default, Default, Default, True, Default,Default,Default) instead did the trick. Regards, Boein Edited January 14, 2015 by boein
water Posted January 14, 2015 Posted January 14, 2015 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