Jump to content

OutlookEX UDF - Help & Support (IV)


water
 Share

Recommended Posts

I haven't figured it out entirely, but it seems that __OL_CheckProperties doesn't return an error when (only?) 'EntryId' is passed to it... I was using this code and received an error that wasn't handled by the error handler...

Local $oOL = _OL_Open()
Local $aSentFolder = _OL_FolderAccess($oOL, "", $olFolderSentMail, Default)

;~ [...] ~;

_OL_ItemFind($oOL, $aSentFolder[1], $olMail, $sSearch, "", "", "EntryId")
If @error then ConsoleWrite("_OL_ItemFind: " & @Error)

;~ [...] ~;

Of course I finally realized that I didn't capitalize the 'd' in the property name, but it was strange that it didn't return an error.

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 functions
Acro.au3 UDF - Automating Acrobat Pro
ToDo Finder - Find #ToDo: lines in your scripts
UI-SimpleWrappers UDF - Use UI Automation more Simply-er
KeePass UDF - Automate KeePass, a password manager
InputBoxes - Simple Input boxes for various variable types

Link to comment
Share on other sites

@ModemJunki To create a Task from an unsent item, something like this might work:

; #FUNCTION# ====================================================================================================================
; Name ..........: _OLEx_SendCreateTask
; Description ...: Sends an item and marks the sent item as a task
; Syntax ........: _OLEx_SendCreateTask($oOL, $oItem, $iInterval)
; Parameters ....: $oOL                 - Outlook object returned by a preceding call to _OL_Open()
;                  $oItem               - a MailItem object to send.
;                  $iInterval           - Time period for which the item is marked as a task. Defined by the $OlMarkInterval Enumeration
; Return values .: Success - the MailItem object in the Sent items folder
;                  Failure - Sets @error:
;                  |1 - $oItem isn't a MailItem
;                  |2 - Unable to access the sent items folder. Sets @extended to @error from _OL_FolderAccess and returns @extended
;                  |3 - Unable to send $oItem. Sets @extended to @error from _OL_ItemSend and returns @extended
;                  |4 - Unable to find sent item. Sets @extended to @error from _OL_ItemFind and returns @extended
;                  |5 - Unable to find get item. Sets @extended to @error from _OL_ItemGet and returns @extended
;                  |6 - Unable to create task. Sets @extended to @error from _OL_Item2Task and returns @extended
; Author ........: Seadoggie01
; Modified ......: March9, 2020
; Remarks .......: If @error is 5 or 6, $oItem is sent, but a task wasn't created.
; Related .......:
; Link ..........:
; Example .......: No
; ===============================================================================================================================
Func _OLEx_SendCreateTask($oOL, $oItem, $iInterval)

    ; Can only send a MailItem... I think... only tested with them anyways
    If Not (ObjName($oItem) = "MailItem") Then Return SetError(1, 0, False)

    ; Keep the Subject to find it later
    Local $sSubject = $oItem.Subject

    ; Get the sent mail folder
    Local $aFolder = _OL_FolderAccess($oOL, "", $olFolderSentMail, Default)
    If @error Then Return SetError(2, @error, @extended)

    ; Get the datetime before sending to keep things accurate...
    ;   if the minute changes, we're safe as we specify greater than in the restrict query
    Local $sDate = @YEAR & "-" & @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN

    ; Actually send the item
    _OL_ItemSend($oOL, $oItem)
    If @error Then Return SetError(3, @error, @extended)

    Local $aItems
    Do
        Sleep(100)
        $aItems = _OL_ItemFind($oOL, $aFolder[1], $olMail, "[SentOn] > '" & $sDate & "' And [Subject] = '" & $sSubject & "'", "", "", "EntryId,Subject,SentOn", "SentOn,True")
        If @error Then Return SetError(4, @error, @extended)
;~      _ArrayDisplay($aItems)
    Until UBound($aItems) > 1

    $oItem = _OL_ItemGet($oOL, $aItems[1][0], Default, -1)
    If @error Then Return SetError(5, @error, @extended)

    _OL_Item2Task($oOL, $oItem, $aFolder[3], $iInterval)
    If @error Then Return SetError(6, @error, @extended)

    ; Return the sent item... not the object returned by _OL_ItemSend, but the one in the 'Sent Items' folder
    Return $oItem

EndFunc

It sends the email for you and adds a task defined by the interval. Basically it's a _OL_Wrapper* function. Credit to water for making everything inside possible :D

It works by sending the email and looking for it in the 'Sent Items' folder by matching the subject and sent time. Note that this function doesn't make the item show up in my Task List, but if you take the returned object and set the FlagRequest property, it will show in the task list... not sure why or what that means.

Also, note that this doesn't mark the item in your inbox if you copy yourself, it's linked to the item in your sent mail. 

Edited by seadoggie01
Forgot to search using subject

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 functions
Acro.au3 UDF - Automating Acrobat Pro
ToDo Finder - Find #ToDo: lines in your scripts
UI-SimpleWrappers UDF - Use UI Automation more Simply-er
KeePass UDF - Automate KeePass, a password manager
InputBoxes - Simple Input boxes for various variable types

Link to comment
Share on other sites

4 hours ago, seadoggie01 said:

I haven't figured it out entirely, but it seems that __OL_CheckProperties doesn't return an error when (only?) 'EntryId' is passed to it...

Will check as soon as I find some spare time ;)

Which version of the UDF do you run?

Edited by water

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2022-02-19 - Version 1.6.1.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 (NEW 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

 

Link to comment
Share on other sites

I'm unable to reproduce it anymore... I'll chalk this up to me missing a parameter in _OL_Find... I was using 1.4.0.0 and have since updated to 1.4.1.0

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 functions
Acro.au3 UDF - Automating Acrobat Pro
ToDo Finder - Find #ToDo: lines in your scripts
UI-SimpleWrappers UDF - Use UI Automation more Simply-er
KeePass UDF - Automate KeePass, a password manager
InputBoxes - Simple Input boxes for various variable types

Link to comment
Share on other sites

4 hours ago, seadoggie01 said:

@ModemJunki To create a Task from an unsent item, something like this might work:

; #FUNCTION# ====================================================================================================================
; Name ..........: _OLEx_SendCreateTask
; Description ...: Sends an item and marks the sent item as a task
; Syntax ........: _OLEx_SendCreateTask($oOL, $oItem, $iInterval)
; Parameters ....: $oOL                 - Outlook object returned by a preceding call to _OL_Open()
;                  $oItem               - a MailItem object to send.
;                  $iInterval           - Time period for which the item is marked as a task. Defined by the $OlMarkInterval Enumeration
; Return values .: Success - the MailItem object in the Sent items folder
;                  Failure - Sets @error:
;                  |1 - $oItem isn't a MailItem
;                  |2 - Unable to access the sent items folder. Sets @extended to @error from _OL_FolderAccess and returns @extended
;                  |3 - Unable to send $oItem. Sets @extended to @error from _OL_ItemSend and returns @extended
;                  |4 - Unable to find sent item. Sets @extended to @error from _OL_ItemFind and returns @extended
;                  |5 - Unable to find get item. Sets @extended to @error from _OL_ItemGet and returns @extended
;                  |6 - Unable to create task. Sets @extended to @error from _OL_Item2Task and returns @extended
; Author ........: Seadoggie01
; Modified ......: March9, 2020
; Remarks .......: If @error is 5 or 6, $oItem is sent, but a task wasn't created.
; Related .......:
; Link ..........:
; Example .......: No
; ===============================================================================================================================
Func _OLEx_SendCreateTask($oOL, $oItem, $iInterval)

    ; Can only send a MailItem... I think... only tested with them anyways
    If Not (ObjName($oItem) = "MailItem") Then Return SetError(1, 0, False)

    ; Keep the Subject to find it later
    Local $sSubject = $oItem.Subject

    ; Get the sent mail folder
    Local $aFolder = _OL_FolderAccess($oOL, "", $olFolderSentMail, Default)
    If @error Then Return SetError(2, @error, @extended)

    ; Get the datetime before sending to keep things accurate...
    ;   if the minute changes, we're safe as we specify greater than in the restrict query
    Local $sDate = @YEAR & "-" & @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN

    ; Actually send the item
    _OL_ItemSend($oOL, $oItem)
    If @error Then Return SetError(3, @error, @extended)

    Local $aItems
    Do
        Sleep(100)
        $aItems = _OL_ItemFind($oOL, $aFolder[1], $olMail, "[SentOn] > '" & $sDate & "' And [Subject] = '" & $sSubject & "'", "", "", "EntryId,Subject,SentOn", "SentOn,True")
        If @error Then Return SetError(4, @error, @extended)
;~      _ArrayDisplay($aItems)
    Until UBound($aItems) > 1

    $oItem = _OL_ItemGet($oOL, $aItems[1][0], Default, -1)
    If @error Then Return SetError(5, @error, @extended)

    _OL_Item2Task($oOL, $oItem, $aFolder[3], $iInterval)
    If @error Then Return SetError(6, @error, @extended)

    ; Return the sent item... not the object returned by _OL_ItemSend, but the one in the 'Sent Items' folder
    Return $oItem

EndFunc

It sends the email for you and adds a task defined by the interval. Basically it's a _OL_Wrapper* function. Credit to water for making everything inside possible :D

It works by sending the email and looking for it in the 'Sent Items' folder by matching the subject and sent time. Note that this function doesn't make the item show up in my Task List, but if you take the returned object and set the FlagRequest property, it will show in the task list... not sure why or what that means.

Also, note that this doesn't mark the item in your inbox if you copy yourself, it's linked to the item in your sent mail. 

Thank you @seadoggie01, but I need to set the follow=up flag for the recipient. The followup flag would have to be set in the message before it was sent.

Always carry a towel.

Link to comment
Share on other sites

1 hour ago, seadoggie01 said:

I'm unable to reproduce it anymore... I'll chalk this up to me missing a parameter in _OL_Find... I was using 1.4.0.0 and have since updated to 1.4.1.0

Very strange.
Seems Outlook accepts "EntryID" and "EntryId". "Subject" works but "subject" crashes the script. __OL_CheckProperties does not return an error for "subject" but does for "sbject".
So the case check in __OL_CheckProperties needs to be checked and enhanced!

Edited by water

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2022-02-19 - Version 1.6.1.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 (NEW 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

 

Link to comment
Share on other sites

28 minutes ago, ModemJunki said:

Thank you @seadoggie01, but I need to set the follow=up flag for the recipient. The followup flag would have to be set in the message before it was sent.

Did you have a look at what i posted here?

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2022-02-19 - Version 1.6.1.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 (NEW 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

 

Link to comment
Share on other sites

  • 2 weeks later...

Version 1.5.0.0 of the UDF has been released.

Please test before using in production!

For download please see my signature.

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2022-02-19 - Version 1.6.1.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 (NEW 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

 

Link to comment
Share on other sites

On 3/9/2020 at 8:37 PM, water said:

Very strange.
Seems Outlook accepts "EntryID" and "EntryId". "Subject" works but "subject" crashes the script. __OL_CheckProperties does not return an error for "subject" but does for "sbject".
So the case check in __OL_CheckProperties needs to be checked and enhanced!

@seadoggie01 The bug should be fixed with version 1.5.0.0 of the UDF ;)

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2022-02-19 - Version 1.6.1.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 (NEW 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

 

Link to comment
Share on other sites

  • 2 weeks later...

Is it intended that creating an item with _OL_ItemCreate with an .oft (Outlook item template) doesn't add a signature to the end of the email? I have a default signature setup, but it isn't added like it is if I open the template from the file explorer.

Local $oOL = _OL_Open()
Local $aFolderProperties = _OL_FolderAccess($oOL, "", $olFolderDrafts)
Local $oEmail = _OL_ItemCreate($oOL, $olMailItem, $aFolderProperties[1], $sFullItemTemplatePath)
If @error then MsgBox(0, "Failed to create template", "Error: " & @error)

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 functions
Acro.au3 UDF - Automating Acrobat Pro
ToDo Finder - Find #ToDo: lines in your scripts
UI-SimpleWrappers UDF - Use UI Automation more Simply-er
KeePass UDF - Automate KeePass, a password manager
InputBoxes - Simple Input boxes for various variable types

Link to comment
Share on other sites

The UDF function does not modify what gets created by Outlook. So yes, this seems to be intended.
If you need a signature you could either

  • add the signature to the template or
  • manually add the signature to the mail or
  • wait until I have created a function to manually add a signature ;)
     

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2022-02-19 - Version 1.6.1.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 (NEW 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

 

Link to comment
Share on other sites

I now know why there is no function in the UDF to add a signature. Outlook doesn't provide a COM method :(
We know where the signatures are stored locally, but it isn't easy to grab the content and insert it into a mail.

Which of the solutions I mentioned in the previous mail do you prefer?

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2022-02-19 - Version 1.6.1.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 (NEW 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

 

Link to comment
Share on other sites

That's fine! Previously, I was creating the template, grabbing the HTML, destroying the template email, and inserting the HTML into a blank (or reply) email. I recently reviewed my code and thought that sounded redundant, so I changed it and missed my signature. I'm happy just to undo my changes :) Thanks for looking into it though, I really appreciate it!

Seems messed up on MS' part that there isn't a COM method for that 😐 You can find the various signature types in %appdata%\Microsoft\Signatures\, but it depends on the Windows version it seems. I don't know that's even worth looking into.

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 functions
Acro.au3 UDF - Automating Acrobat Pro
ToDo Finder - Find #ToDo: lines in your scripts
UI-SimpleWrappers UDF - Use UI Automation more Simply-er
KeePass UDF - Automate KeePass, a password manager
InputBoxes - Simple Input boxes for various variable types

Link to comment
Share on other sites

There is next to no need for such a function. I think it isn't sensible to invest time to create a function that would be far from perfect (it would depend on the WIndows version and even on the users language as some subdirectories are named "<signaturename>_files" in english and "<signaturename>_Dateien" in german :(

It's great you have a working solution.
So I will invest my time in further enhancements of the OutlookEXGUI UDF and the creation of CHM help files for my UDFs :)

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2022-02-19 - Version 1.6.1.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 (NEW 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

 

Link to comment
Share on other sites

Are the folder names different, depending on the language, for the Signature folder in the appdata\roaming location?

If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Link to comment
Share on other sites

Let's say you have a signature named "Outgoing-Mails" then you will find the signature files Outgoing-Mails.txt, Outgoing-Mails.htm and Outgoing-Mails.rtf in directory %appdata%\Microsoft\Signatures.
If the signature contains pictures etc. you will find the additional files in subdirectory %appdata%\Microsoft\Signatures\
Outgoing-Mails_files on an english system and %appdata%\Microsoft\Signatures\Outgoing-Mails_Dateien on a german system.
Means: "_files" is the language dependent part.

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2022-02-19 - Version 1.6.1.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 (NEW 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

 

Link to comment
Share on other sites

Like I said before, I'm happy to revert my procedure, but if you did want to find these language independently, couldn't you just do a search of the AppData directory to find it?

Func __OL_GetSigFolder($sSignatureName)
    
    Local Const $sBaseDir = @AppDataDir & "\Microsoft\Signatures\"
    
    ; Search using the signature name and an underscore (to avoid the normal signature files)
    Local $hSearch = FileFindFirstFile($sBaseDir & $sSignatureName & "_*")
    If @error then Return SetError(1, 0, False)
    
    Local $sResult = FileFindNextFile($hSearch)
    
    While $sResult <> ""
        ; If the result is a folder, then keep it
        If @extended = 0 Then ExitLoop
        $sResult = FileFindNextFile($hSearch)
    WEnd
    
    ; I always forget this
    FileClose($hSearch)
    
    ; If there was a result then return it
    If $sResult <> "" Then Return $sBaseDir & $sResult
    
    Return SetError(2, 0, False)
    
EndFunc

 

Edited by seadoggie01
Words. Bleh.

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 functions
Acro.au3 UDF - Automating Acrobat Pro
ToDo Finder - Find #ToDo: lines in your scripts
UI-SimpleWrappers UDF - Use UI Automation more Simply-er
KeePass UDF - Automate KeePass, a password manager
InputBoxes - Simple Input boxes for various variable types

Link to comment
Share on other sites

I just wanted to make clear how the signatures get stored and that it is a quite complex task to import the signatures from there.
At the moment I do not intend to write a function to retrieve signatures this way. But who knows what the future brings :)

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2022-02-19 - Version 1.6.1.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 (NEW 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

 

Link to comment
Share on other sites

  • 3 weeks later...

Thank you for giving us this great UDF! 

Is it possible to read(or open) an eml file in the local hard disk and move it to a folder in the outlook?

I found that the local msg file can be moved to the folder using _OL_ItemCreate, but I can't with the local eml files.  

Edited by sungmin0206
Link to comment
Share on other sites

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
 Share

×
×
  • Create New...