water Posted April 23, 2020 Author Posted April 23, 2020 (edited) I have found the following VBS script on this site: https://www.howto-outlook.com/howto/import-eml-files.htm It asks for a directory containing the EML files. Then it asks for an Outlook folder where to store the converted EML files. Every EML file from the specified directory will be converted and stored in the Outlook folder. Could you please give it a try? If it works I will be happy to translate it to AutoIt and add it as an example script to the UDF. '=================================================================== 'Description: VBS script to import eml-files. ' 'Comment: Before executing the vbs-file, make sure that Outlook is ' configured to open eml-files. ' Depending on the performance of your computer, you may ' need to increase the Wscript.Sleep value to give Outlook ' more time to open the eml-file. ' ' author : Robert Sparnaaij ' version: 1.0 ' website: http://www.howto-outlook.com/howto/import-eml-files.htm '=================================================================== Dim objShell : Set objShell = CreateObject("Shell.Application") Dim objFolder : Set objFolder = objShell.BrowseForFolder(0, "Select the folder containing eml-files", 0) Dim Item If (NOT objFolder is Nothing) Then Set WShell = CreateObject("WScript.Shell") Set objOutlook = CreateObject("Outlook.Application") Set Folder = objOutlook.Session.PickFolder If NOT Folder Is Nothing Then For Each Item in objFolder.Items If Right(Item.Name, 4) = ".eml" AND Item.IsFolder = False Then objShell.ShellExecute Item.Path, "", "", "open", 1 WScript.Sleep 1000 Set MyInspector = objOutlook.ActiveInspector Set MyItem = objOutlook.ActiveInspector.CurrentItem MyItem.Move Folder End If Next End If End If MsgBox "Import completed.", 64, "Import EML" Set objFolder = Nothing Set objShell = Nothing Edited April 23, 2020 by water 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
sungmin0206 Posted April 23, 2020 Posted April 23, 2020 Thanks for the reply! That VBA script works perfectly. It would be great if you could implement this with your UDF. I'm so happy I found your UDF! Thanks again.
water Posted April 23, 2020 Author Posted April 23, 2020 Will do my very best and post my results here sungmin0206 1 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 April 23, 2020 Author Posted April 23, 2020 Can you please post a simple EML-file here or send me a PM via this site? I'm unable to create an EML-file using Outlook 2016 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 April 24, 2020 Author Posted April 24, 2020 (edited) Here is a first example tested with the EML-files you provided: <snip> The code has been moved to the OutlookEX example scripts thread (link can be found in my signature. Edited April 25, 2020 by water sungmin0206 1 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
sungmin0206 Posted April 24, 2020 Posted April 24, 2020 It works very well. Thank you for the quick action.
water Posted April 24, 2020 Author Posted April 24, 2020 Will add a few features: Show some kind of progressbar Logging of information and error messages to a file Write statistical data to the log file and/or to a MsgBox Flag to ignore errors when importing an EML-file and continue with the next EML-file Display log file after processing Something else? 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 April 24, 2020 Author Posted April 24, 2020 (edited) I have implemented everything but the progressbar (will be in the next release). Please modify the settings at the top of the script to your needs. With the current settings the script processes all EML-files without user intervention and displays the log when finished. Have fun and please report problems you encounter <snip> The code has been moved to the OutlookEX example scripts thread (link can be found in my signature. Edited April 25, 2020 by water 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 April 25, 2020 Author Posted April 25, 2020 I have added a new example script to the OutlookEX example scripts thread: _OL_Example_Import_EML.au3https://www.autoitscript.com/forum/topic/126358-outlookex-udf-example-scripts/ It allows to import EML files to an Outlook folder. 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
seadoggie01 Posted May 20, 2020 Posted May 20, 2020 (This might be my favorite thread, I spend nearly all my time here ) Is there for removing spaces from a path in _OL_ItemAttachmentSave? I edited the RegEx and it worked for me [one time]: ; Replace invalid characters from filename with underscore $sFName = StringRegExpReplace($sFName, '[\/:*?"<>|]', '_') ; Previously $sFName = StringRegExpReplace($sFName, '[ \/:*?"<>|]', '_') All my code provided is Public Domain... but it may not work. Use it, change it, break it, whatever you want. Spoiler My Humble Contributions:Personal Function Documentation - A personal HelpFile for your functionsAcro.au3 UDF - Automating Acrobat ProToDo Finder - Find #ToDo: lines in your scriptsUI-SimpleWrappers UDF - Use UI Automation more Simply-erKeePass UDF - Automate KeePass, a password managerInputBoxes - Simple Input boxes for various variable types
water Posted May 20, 2020 Author Posted May 20, 2020 Can't recall why the space is replaced with "_". I'm sure I grabbed the RegExp from another thread. I think I will add a flag so you can choose how to handle spaces. 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
Skysnake Posted July 18, 2020 Posted July 18, 2020 Hey @water I need some ideas. I can create a Meeting using the UDF. But, I do have a problem: How to set Start time AFTER pre-existing meetings? Simple example: Meeting1 in calendar 8am-9am. I click "create meeting" button and the start time for Meeting2 must be after 9am. Ideas on quickly and easily getting the "lowest available start time" with at least 60 minutes available? I can probably select that out of a SQL table, but this is not SQL 😕 Where do I start? If you have a moment please. Skysnake Why is the snake in the sky?
water Posted July 18, 2020 Author Posted July 18, 2020 You could use function _OL_RecipientFreeBusyGet to get the free/busy time information for a user (even for yourself). Skysnake 1 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
Skysnake Posted August 20, 2020 Posted August 20, 2020 Dear @water How do I send an email to myself? I feel very silly. It seems so painfully obvious, but I cannot find the answer. The same account used by the wrappers to send FROM should be available to be used as TO address, but I am struggling... Sorry Skysnake Why is the snake in the sky?
water Posted August 20, 2020 Author Posted August 20, 2020 I’m currently on vacation and will reply this weekend. But if I remember correctly the example script for _OL_ItemCreate or one of the wrapper functions has code to retrieve the current user. Skysnake 1 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 August 22, 2020 Author Posted August 22, 2020 $sCurrentUser = $oOL.GetNameSpace("MAPI").CurrentUser.Name ; Returns the display name of the currently logged-on user $oCurrentUser = $oOL.GetNameSpace("MAPI").CurrentUser ; Returns the currently logged-on user as a Recipient object Skysnake 1 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
Skysnake Posted August 24, 2020 Posted August 24, 2020 (edited) Thank you I managed to get that. Consider a "test mail" scenario, where if To is set to Default, it sends ito the sender (sender = To). A simple selftest. I used the code you posted What I got was a mail item created in Draft. I think that that code returns the current user as a string, while Outlook object expects an Array... I haven't gotten round to changing the $sCurrentUser into an array and then submitting to the Wrapper $aCurrentUser = StringSplit($sCurrentUser &";",";") ; something like this? Edited August 24, 2020 by Skysnake Skysnake Why is the snake in the sky?
seadoggie01 Posted August 24, 2020 Posted August 24, 2020 Outlook just wants the recipients in the To field to be semicolon delimited, no arrays needed. Did you check the error code of _OL_Wrapper_SendMail? All my code provided is Public Domain... but it may not work. Use it, change it, break it, whatever you want. Spoiler My Humble Contributions:Personal Function Documentation - A personal HelpFile for your functionsAcro.au3 UDF - Automating Acrobat ProToDo Finder - Find #ToDo: lines in your scriptsUI-SimpleWrappers UDF - Use UI Automation more Simply-erKeePass UDF - Automate KeePass, a password managerInputBoxes - Simple Input boxes for various variable types
Skysnake Posted August 31, 2020 Posted August 31, 2020 Will get back to the To = Sender shortly. Now I have a different problem. I have a script. Create an OL_Object globally once, reuse is many times. When I CLOSE the object, it closes my Outlook (not what I want). When I exit I set the Object to NULL which alos seems to work. BUT when the script expires (think laptop hibernate) it seems as if the object goes into limbo. On resume, AutoIt thinks the object is still valid, and writes to it, but it does not appear in Outlook. Simple solution seems to be to create an Object as needed but I am rather looking for an explanation? Hopefully that will confirm my fix is the right one? Skysnake Why is the snake in the sky?
water Posted August 31, 2020 Author Posted August 31, 2020 41 minutes ago, Skysnake said: I have a script. Create an OL_Object globally once, reuse is many times. When I CLOSE the object, it closes my Outlook (not what I want). I think the explanation for this behavior can be found here. 43 minutes ago, Skysnake said: BUT when the script expires (think laptop hibernate) You mean the script exits when the your laptop hibernates? Skysnake 1 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