Jump to content

I want to interract with the Outlook new Untitled - Message (HTML) form? - (Moved)


Recommended Posts

Posted

My problem is that I want to fill the To and the Subject and message form with text, using my auto it script, and I cant acces to it.

I used AutoIt Window Info to get the information, but I did not managed to get all of the information.

My example script which opens the Outlook and, the new mail form, and try to acces the forms:

run("C:\Program Files (x86)\Microsoft Office\root\Office16\OUTLOOK.EXE") ;runs outlook

Send ("^n") ; opens new  mail form

ControlSend ( "Untitled - Message (HTML) ", "RichEdit20WPT", CLASSNN , "example@example.com" , 2 ) ; fills the To: form (autoit window info: Class and Instance)

ControlSend ( "Untitled - Message (HTML) ", "RichEdit20WPT", CLASSNN , "This is the subject" ,5 ) ; fills the Subject (auto it window info class instance)

ControlSend ( "Untitled - Message (HTML) ", "_WwG", CLASSNN , "Text of mail....." , 1 )

Am I using the right funtcion, and am I using it in the right way to acces the classes of the email form?

Thanks your help in advance. :)

outlookit.PNG

Posted

Meanwhile I get the answer:You should try it

;ControlSend ( "title", "text", controlID, "string" [, flag = 0] )
;ControlGetText ( "title", "text", controlID )
ControlSend($title, "", "[CLASS:RichEdit20WPT; INSTANCE:2]","example@exaple.com")

$text = ControlGetText($title, "", "[CLASS:RichEdit20WPT; INSTANCE:2]") ; Get the text
MsgBox(0,"TEXT",$text)

 

Posted
1 hour ago, Danp2 said:

Have you considered using the OutlookEX UDF?

Yes, I considered, but I did not find any mail form filler, just mail sender :(

But I don't need to send the mail automatically, the user should click the send button.
This script only needs to fill the mail form with a sample in the given time.

Example: It's 12:00 
The script opens Outlook and fill the mail form with: Happy luch!

Thanks your answer.

If you have solution with  OutlookEX UDF I am happy to try :)

  • Moderators
Posted

Moved to the appropriate forum, as the Developer General Discussion forum very clearly states:

Quote

General development and scripting discussions.


Do not create AutoIt-related topics here, use the AutoIt General Help and Support or AutoIt Technical Discussion forums.

Moderation Team

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png 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 columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Posted

I suggest to use something like this.

#include <OutlookEX.au3>

Global $sBody = "Mail Body"             ; The body of the mail goes here
Global $sSubject = "Mail subject"       ; The subject of the mail goes here
Global $sRecipient = "John.doe@gmx.com" ; The recipient of the mail goes here

; Start up Outlook or connect to a running instance of Outlook
Global $oOutlook = _OL_Open()
If @error <> 0 Then Exit MsgBox($MB_ICONERROR, @ScriptName, "Error creating a connection to Outlook. @error = " & @error & ", @extended = " & @extended)

; Create the item without setting the body. We first need to add the picture before we can refer to in by the HTML body.
$oItem = _OL_ItemCreate($oOutlook, $olMailItem, "", "", "Subject=" & $sSubject, "Body=" & $sBody)
If @error <> 0 Then Exit MsgBox($MB_ICONERROR, @ScriptName, "Error creating the mail item. @error = " & @error & ", @extended = " & @extended)

; Add the recipient
_OL_ItemRecipientAdd($oOutlook, $oItem, Default, $olTo, $sRecipient)
If @error <> 0 Then Exit MsgBox($MB_ICONERROR, @ScriptName, "Error adding recipient to the mail item. @error = " & @error & ", @extended = " & @extended)

; Display the item
$oItem.Display

_OL_Close($oOutlook)

 

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

 

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...