Jump to content

OutlookEX UDF


water
 Share

Recommended Posts

Updated the example in the wiki ;)

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

This example I found easier to understand.  Maybe it's me?  The problem is two fold. (1) I did not realize I had to use the Object to select the default mail account, I thought I could pass that as a string.  I see now where that went wrong. (2) I use the send mail wrapper.  Quick and Dirty.  The wrapper does not like the tampering. 

So to get this to work I need to make my own wrapper which allows for selection of the sender account.

Thank you for the effort you put into this.  Much appreciated.

Skysnake

Why is the snake in the sky?

Link to comment
Share on other sites

  • 2 weeks later...

Version 1.3.5.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

  • 5 months later...

The OutlookEX UDF has become quite large (>100 functions) and complex.
I think about splitting the UDF into two parts:

  • the item related OutlookEX UDF (mail items, calendar items, folder items ...)
  • the Outlook GUI related OutlookEXGUI UDF. I would move about 10 functions (_OL_Bar*, _OL_NavigationFolder*, _OL_Searchfolder*) from OutlookEX to this new UDF

What do you think?

 

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 have moved the GUI related functions (_OL_BarGroupAdd, _OL_BarGroupDelete, _OL_BarGroupGet, _OL_BarShortcutAdd, _OL_BarShortcutDelete, _OL_BarShortcutGet, _OL_NavigationFolderGet) to the new OutlookEXGUI UDF. As this functions have not been widely used I'm sure the script breaking effect will be limited to a few users ;)

This will reduce the size of OutlookEX.au3 by about 1000 lines. As the Outlook UDF will mainly grow in the GUI part, future changes will not affect OutlookEX.au3.
So we get a cleaner structure for further development.
 

7 hours ago, supersonic said:

I would prefer having 3 au3 files:

You get both files as OutlookEXGUI includes OutlookEX for the core functions (_OL_Open etc.).

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

  • 1 month later...

Hello there ,

First of all, udf makes my work much easier, thank you for your effort.😚😚😘
Can this e-mail be developed and given a unique serial number or tracking number?
Is there a way to parse an incoming e-mail, whether it has been answered or not.
I receive an average of 340 emails per day.

Link to comment
Share on other sites

Quote

Is there a way to parse an incoming e-mail, whether it has been answered or not.

You mean: You want to know if the mail you get is the reply to a mail you have sent?

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

31 minutes ago, mustilem23 said:

I literally wanted to tell you that su .

The "Conversation object" would allow to list all mails belonging to the same "Conversation".
Unfortunately I do not have played with this - and the users of the UDF did not request it :)

Maybe I will find some time to play a bit with this Outlook feature.

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

:)

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

First try. Run the script, select a mail item in a folder, click OK.
The script will return all items related to the conversation independant of the folder or store.

#include <OutlookEX.au3>

If MsgBox(0, "_OL_ConversionGet", "Please select an email item!") <> $IDOK Then Exit
Global $oOL = _OL_Open()
Global $oItem = $oOL.ActiveExplorer().Selection(1)
If $oItem.Class <> $olMail Then Exit MsgBox($MB_TOPMOST, "_OL_ConversionGet", "Selected item has to be an email!")
Global $aResult = _OL_ConversationGet($oOL, $oItem)
_ArrayDisplay($aResult)

; #FUNCTION# ====================================================================================================================
; Name ..........: _OL_ConversationGet
; Description ...: Returns an array holding all elements of a conversation.
; Syntax.........: _OL_ConversationGet($oOL)
; Parameters ....: $oOL      - Outlook object returned by a preceding call to _OL_Open()
;                  $vItem    - EntryID or object of the item
;                  $sStoreID - Optional: StoreID where the item is stored (default = keyword "Default" = the users mailbox)
; Return values .: Success - two-dimensional one based array with the following information:
;                  |0 - EntryID
;                  |1 - Subject
;                  |2 - CreationTime
;                  |3 - LastModificationTime
;                  |4 - MessageClass
;                  Failure - Returns "" and sets @error:
;                  |1 - No item has been specified
;                  |2 - Item could not be found. EntryID might be wrong. @extended is set to the COM error code
;                  |3 - Error retrieving the parent object of the item. @extended is set to the COM error code
;                  |4 - The store where the item resides is not conversation enabled
;                  |5 - Unable to retrieve the conversation object for the item. @extended is set to the COM error code
; Author ........: water
; Modified ......:
; Remarks .......: This function only works for stores that are conversation enabled.
; Related .......:
; Link ..........:
; Example .......: Yes
; ===============================================================================================================================
Func _OL_ConversationGet($oOL, $vItem, $sStoreID = Default)
    Local $oFolder, $oStore, $oConversation, $oTable, $iRowCount, $iRowIndex
    If Not IsObj($vItem) Then
        If StringStripWS($vItem, 3) = "" Then Return SetError(1, 0, "")
        $vItem = $oOL.Session.GetItemFromID($vItem, $sStoreID)
        If @error Then Return SetError(2, @error, "")
    EndIf
    $oFolder = $vItem.Parent
    If @error Then Return SetError(3, @error, "")
    $oStore = $oFolder.Store
    If $oStore.IsConversationEnabled = True Then
        $oConversation = $vItem.GetConversation()
        If @error Then Return SetError(5, @error, "")
        $oTable = $oConversation.GetTable()
        $iRowCount = $oTable.GetRowCount()
        $iRowIndex = 1
        Local $aConversations[$iRowCount + 1][5]
        Do
            $oRow = $oTable.GetNextRow
            $aConversations[$iRowIndex][0] = $oRow(1)
            $aConversations[$iRowIndex][1] = $oRow(2)
            $aConversations[$iRowIndex][2] = $oRow(3)
            $aConversations[$iRowIndex][3] = $oRow(4)
            $aConversations[$iRowIndex][4] = $oRow(5)
            $iRowIndex += 1
        Until $oTable.EndOfTable
        $aConversations[0][0] = $iRowIndex - 1
        $aConversations[0][1] = 5
        Return $aConversations
    EndIf
    SetError(4, 0, "")
EndFunc   ;==>_OL_ConversationGet

What do you think?

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

Hey water,

Do you happen to know how to do this? I wasn't sure where to post it, so I put it in the General Help and Support... where it got none :(

 

It seems that _OL_ItemCopy doesn't work with Public Folders. Admittedly, I can't even get this to work in VBA, so I don't even know where to begin 😐

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

Does it work when you remove the following line from _OL_Itemcopy?
    If $oSourceFolder.DefaultItemType <> $vTargetFolder.DefaultItemType Then Return SetError(3, 0, 0)

If $oSourceFolder.DefaultItemType <> $vTargetFolder.DefaultItemType Then Return SetError(3, 0, 0)

 

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

Another idea: Can't you just send the mail to the public folder?

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 used Application.ActiveInspector.Currentitem to get the currently active email this time... will edit after not using an open item)

That gives me Error: 5 and Extended: 2 ... Item can't be deleted because Item can't be found. And nothing is copied to the folder.

Edit: Wait, what? Send to the public folder? How? What's the email address? :O

Edited by seadoggie01

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

Oh, the _OL_ItemMove also has a similar line...

If $oSourceFolder.DefaultItemType <> $vTargetFolder.DefaultItemType Then Return SetError(2, 0, 0)

After removing it, everything works fine :) (I am still interested in emailing a public folder, that would be so much easier)

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

In my company Outlook presents the name of every store as "name@company.com" or "description - name@company.com" in the Outlook folder view.

Or when you select a Store -> FileProperties -> Extended you will get the address of the store as well (I'm on a German system so the text might vary)

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

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

  • Recently Browsing   0 members

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