JJordan Posted July 18, 2007 Share Posted July 18, 2007 I need assistance selecting one file from a Insert File Dialog Control from Microsoft Outlook 2003 I already have the script pointing to the folder that i want. There will only be one file in that folder and the file name always changes. I downloaded AutoIT yesterday and i hit a minor roadblock with this Insert File Dialog. Great Application! Thanks in advance for the help. Jim Link to comment Share on other sites More sharing options...
PsaltyDS Posted July 18, 2007 Share Posted July 18, 2007 I need assistance selecting one file from a Insert File Dialog Control from Microsoft Outlook 2003I already have the script pointing to the folder that i want. There will only be one file in that folder and the file name always changes.I downloaded AutoIT yesterday and i hit a minor roadblock with this Insert File Dialog. Great Application! Thanks in advance for the help. JimWelcome to AutoIt!What were you using to get to that point. Are you scripting the GUI with Mouse/Keyboard commands, or using COM? Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law Link to comment Share on other sites More sharing options...
JJordan Posted July 18, 2007 Author Share Posted July 18, 2007 Welcome to AutoIt! What were you using to get to that point. Are you scripting the GUI with Mouse/Keyboard commands, or using COM? Goal: Open Outlook, Create a new Email message, Attach one file, Send that email to someone. I think i have the other half of the code down to send it out, I'll stumble through it i think. Microsoft has a very interesting way of labeling Controls, Class, IDs etc... Makes it a bit frustrating.. I send a RUN command to open outlook Then WinActivate("Inbox - Microsoft Outlook", "") Send("Outlook.exe ^n") ;Open a new email message. This is a bad way of doing this because if they have the calendar, notes etc open then it would open a new window in for that item. Any different way to open a new email message. I tried a bunch different classes, but the button nested within a menu bar control WinActive("Untitled Message", "") ;Send("Outlook.exe !i & l") ;Opens the insert command and file option from the insert menu ;ControlClick ( "Insert File", "", "[Class:RichEdit20W; INSTANCE:2]") ;I think this puts the focus on the open box where i type the file path ;Send( "C:\Audit\Data") ; Send the Path to the open file dialog box ;Send("{ENTER}") Link to comment Share on other sites More sharing options...
SadBunny Posted July 18, 2007 Share Posted July 18, 2007 Suggestion: ^N opens a new item in the current outlook category. To always open a new e-mail no matter what category you are in, outlook has another shortcut: ^!M (ctrl-shift-M) And I was able to easily manipulate the Insert File window ("Bestand Invoegen" in Dutch) by using: While Not WinActive("Bestand invoegen") Sleep(10) WEnd Send("c:\boot.ini{ENTER}") Exit Roses are FF0000, violets are 0000FF... All my base are belong to you. Link to comment Share on other sites More sharing options...
JJordan Posted July 18, 2007 Author Share Posted July 18, 2007 Suggestion: ^N opens a new item in the current outlook category. To always open a new e-mail no matter what category you are in, outlook has another shortcut: ^!M (ctrl-shift-M) And I was able to easily manipulate the Insert File window ("Bestand Invoegen" in Dutch) by using: While Not WinActive("Bestand invoegen") Sleep(10) WEnd Send("c:\boot.ini{ENTER}") Exit Thanks for the shortcut! I didn't think i could send the text and a command on the same line. How can i do what you did above, but with random file name. I have a program that audits a machine and it spits out an XML file with numbers in the file name. Example 843392.xml I will not know the name of the XML file until the the audit program is finished. Unless i grab the name of the XML file in a variable during the audit program execution. The wheels are turning.... Link to comment Share on other sites More sharing options...
SadBunny Posted July 18, 2007 Share Posted July 18, 2007 Thanks for the shortcut!I didn't think i could send the text and a command on the same line. How can i do what you did above, but with random file name. I have a program that audits a machine and it spits out an XML file with numbers in the file name. Example 843392.xmlI will not know the name of the XML file until the the audit program is finished. Unless i grab the name of the XML file in a variable during the audit program execution. The wheels are turning....If you have the name in $filename, you can Send($filename & "{ENTER}"). That what you mean? Roses are FF0000, violets are 0000FF... All my base are belong to you. Link to comment Share on other sites More sharing options...
JJordan Posted July 18, 2007 Author Share Posted July 18, 2007 If you have the name in $filename, you can Send($filename & "{ENTER}"). That what you mean?That is part of the probelm. I don't know the name file because the file is generated with a random name, but it comes in the form of 999999.xml (The 9's represent digits between 0 and 9). Link to comment Share on other sites More sharing options...
SadBunny Posted July 18, 2007 Share Posted July 18, 2007 (edited) That is part of the probelm. I don't know the name file because the file is generated with a random name, but it comes in the form of 999999.xml (The 9's represent digits between 0 and 9).Maybe: looking for *.xml with FileFindFirstFile and FileFindNextFile. Get the list of xml files, then get all file times with FileGetTime, then look for the latest file, and use that./edit: _DateDiff() can help you look for the latest file./edit2: or, get a list of xml files before you run the audit program, then run the audit program, then get a new list of xml files, then use the one that wasn't there before? Edited July 18, 2007 by SadBunny Roses are FF0000, violets are 0000FF... All my base are belong to you. Link to comment Share on other sites More sharing options...
JJordan Posted July 23, 2007 Author Share Posted July 23, 2007 Maybe: looking for *.xml with FileFindFirstFile and FileFindNextFile. Get the list of xml files, then get all file times with FileGetTime, then look for the latest file, and use that./edit: _DateDiff() can help you look for the latest file./edit2: or, get a list of xml files before you run the audit program, then run the audit program, then get a new list of xml files, then use the one that wasn't there before?I took a different route instead. I choose to rename the file to the computer name. Is this a good way of doing it?Filemove("C:\Audit\Data\*.xml", "C:\Audit\Data\"& @ComputerName & ".xml")I have another issues though. When i send the command to insert a file Send( "Outlook.exe !i & l") it appears to send the text "Outlook.exe" to the "To" field in the New email window? What am i doing wrong in the Send command for this to happen?JJordan Link to comment Share on other sites More sharing options...
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