Search the Community

Showing results for tags 'Outlook'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • General
    • Announcements and Site News
    • Chat
    • Administration
  • AutoIt v3
    • AutoIt Help and Support
    • AutoIt Technical Discussion
    • AutoIt Example Scripts
  • Scripting and Development
    • Developer General Discussion
    • Language Specific Discussion
  • IT Administration
    • Operating System Deployment
    • Windows Client
    • Windows Server
    • Office


  • AutoIt Team
    • Beta
    • MVP
  • AutoIt
    • Automation
    • Databases and web connections
    • Data compression
    • Encryption and hash
    • Games
    • GUI Additions
    • Hardware
    • Information gathering
    • Internet protocol suite
    • Maths
    • Media
    • PDF
    • Security
    • Social Media and other Website API
    • Windows
  • Scripting and Development
  • IT Administration
    • Operating System Deployment
    • Windows Client
    • Windows Server
    • Office


  • Forum
  • AutoIt


  • Community Calendar

Found 31 results

  1. As the OutlookEX UDF - Help & Support thread has grown too big, I'm starting a new one. The original thread can be found here.
  2. Hi all. Does AutoIt have any functions/tools (either built-in or user defined) that can help me automate the process of exporting an OST mailbox to a PST file in Microsoft Outlook (2013)? I know how to carry out the process manually. At the Microsoft Forums, I have asked if it is possible to do the same via a script, but some have said it is not possible. It may be possible if I was using Microsoft Exchange, but I am not. I've seen some posts about an Outlook UDF on this site (here and here), but I don't see any mention of exporting a mailbox. In my post at the Microsoft Forums, many paid third party applications were suggested. But for now I would like to pursue the custom scripting route as far as I can. The ultimate goal of this exercise is to automatically create a weekly backup of my Outlook mailbox for offline storage. Thanks in advance.
  3. Dear members of the forum, I'm new to AutoIt and I'm having a good time exploring and enjoying the features of AutoIt. For one of my tasks, I've to open few particular mails from outlook based on subject of the mails and then print the mails. Can someone please guide me how to do it? My question could be very silly for experts. But I'm just a beginner. Kindly advice. Thanks and regards, Gowrisankar R.
  4. I'm writing Outlook pst cleaner and now I'm stuck. Compiled script is crashing with OS crash message. When I tryied to run script from editor it's exiting itself (mabye it's some type of crash?) always when it's processing on 4-rd pst file. Here is my code: #include <OutlookEX.au3> #include <Date.au3> #include <File.au3> #include <Array.au3> _cleanOutlook("Administrator") _cleanOutlook("Admin") Exit Func _cleanOutlook($user) $foldery = "Wiadomości-śmieci#?SPAM#?Junk E-mail#?Elementy usunięte#?Deleted Items" $tab_folderow = StringSplit($foldery, "#?", 1) $tab_pst = _FileListToArrayRec("c:\users\" & $user, "*.pst", 1+4+8, 1, 0, 2) ;~ _ArrayDisplay($tab_pst) For $d = 1 To UBound($tab_pst) -1 Step +1 $outlook = _OL_Open(True) _OL_Close($outlook, True) $outlook = _OL_Open() Local $aStores = _OL_StoreGet($outlook) ;~ _ArrayDisplay($aStores) For $i = 1 to $aStores[0][0] If $aStores[$i][4] = True Then ;~ ConsoleWrite(@CRLF & "zamykam pst 2") _OL_PSTClose($outlook,$aStores[$i][0]) EndIf Next ;~ _OL_PSTAccess($outlook, "C:\Users\Administrator\Desktop\cos.pst") _OL_PSTAccess($outlook, $tab_pst[$d]) ConsoleWrite(@CRLF & $tab_pst[$d]) ;~ $tab_struktury = _OL_FolderTree($outlook, "*", 10) ;~ If @error Then ;~ ContinueLoop ;~ EndIf ;~ _ArrayDisplay($tab_struktury) $tab_ktory_pst = _OL_PSTGet($outlook) ;~ _ArrayDisplay($tab_ktory_pst) For $a = 0 To UBound($tab_ktory_pst) -1 Step +1 If $tab_ktory_pst[$a][2] = $tab_pst[$d] Then ;~ MsgBox(0, "", $tab_ktory_pst[$a][0]) $nazwa_bazy_pst = $tab_ktory_pst[$a][0] EndIf Next ;~ MsgBox(0, "", UBound($tab_folderow)) ;~ _ArrayDisplay($tab_folderow, $tab_pst[$d]) ConsoleWrite(@CRLF & "przed while") $a = 0 While $a < 2 ConsoleWrite(@CRLF & "while 1") For $b = 1 To UBound($tab_folderow) -1 Step +1 ConsoleWrite(@CRLF & "for 1") $tab_struktury = _OL_FolderTree($outlook, $nazwa_bazy_pst) ;~ _ArrayDisplay($tab_struktury, $nazwa_bazy_pst) ;~ $folder = _OL_FolderAccess($outlook, StringTrimLeft($tab_struktury[0], 2) & "\" & $tab_folderow[$b]) $folder = _OL_FolderAccess($outlook, $nazwa_bazy_pst & "\" & $tab_folderow[$b]) ;~ ConsoleWrite(@CRLF & "eeee") If @error Then ;~ MsgBox(0, "", "\\" & $nazwa_bazy_pst & "\" & $tab_folderow[$b] & @CRLF & @error) ConsoleWrite(@CRLF & "przechodze do kolejnego " & $b+1) ContinueLoop EndIf ;~ _ArrayDisplay($folder, $nazwa_bazy_pst) ConsoleWrite(@CRLF & $tab_folderow[$b]) If $tab_folderow[$b] = "Deleted Items" Or $tab_folderow[$b] = "Elementy usunięte" Then ConsoleWrite(@CRLF & "usuwam kosze") _OL_FolderDelete($outlook, $folder[1], 1) _OL_FolderDelete($outlook, $folder[1], 2) _OL_FolderDelete($outlook, $folder[1], 3) _OL_FolderDelete($outlook, $folder[1], 4) ;~ _OL_FolderDelete($outlook, $folder[1], 5) EndIf If $a = 0 Then $tab_maile = "" $data_dzis = @YEAR & "/" & @MON & "/" & @MDAY & " 00:00" ;~ $data_dzis = "2017/01/31 00:00" $data_szukana = _DateAdd("D", "-3", $data_dzis) $tab_maile = _OL_ItemFind($outlook, $folder[1], $olMail, "[Received]<'" & StringReplace($data_szukana, "/", "-") & "'", "", "", "EntryID", "", 1) If @error Then ContinueLoop EndIf ;~ If UBound($tab_maile) > 1 Then ;~ _ArrayDisplay($tab_maile) ;~ EndIf If UBound($tab_maile) > 1 Then For $c = 1 To UBound($tab_maile) -1 Step +1 ;~ ConsoleWrite(@CRLF & "usuwam stare maile") _OL_ItemDelete($outlook, $tab_maile[$c][0], "", False) Next EndIf EndIf Next $a = $a + 1 WEnd ;~ ConsoleWrite(@CRLF & "pokazuje") ;~ $folder[1].Display $olFolderInbox.Display ;~ _OL_PSTClose($outlook, $olFolderInbox) ;~ If @error Then ;~ MsgBox(0, "", @error) ;~ EndIf Local $aStores = _OL_StoreGet($outlook) ;~ _ArrayDisplay($aStores) For $i = 1 to $aStores[0][0] If $aStores[$i][4] = True Then ;~ ConsoleWrite(@CRLF & "zamykam pst 1") _OL_PSTClose($outlook,$aStores[$i][0]) EndIf Next ;_OL_PSTClose($outlook, $folder[1]) _OL_Close($outlook, True) If @error Then MsgBox(0, "", @error) EndIf ConsoleWrite(@CRLF & "zamykam") ProcessWaitClose("outlook.exe", 30) ProcessClose("outlook.exe") Next EndFunc Outlook and OS is updated. I'm usinn OutlooEX in ver. Any ideas?
  5. Hi all. I am trying to do 2 things but i cannot seem to get any traction on how to read/implement this idea. Premise: PowerPoint file in C\temp\presentation.pptx that contains on the first slide 2 entries as "<one>" and "<two>" which need to be replaced with "user1" and "user2", then a silent Outlook send mail containing the file with a predefined body and subject. I narrowed it down to COM objects as the Office does not like intrusive open AutoIt functions. I installed OLE/COM Object Viewer to understand how to create the commands but i am still stuck. So far i am trying to user water's code but i suck COM object i was originally trying to modify Dim $oPPT, $oPres $oPPT = ObjCreate("PowerPoint.Application") $oPPT.Visible = True $oPres = $oPPT.Presentations.Read Water's code below (0.1% modified) #include <File.au3> #include "PowerPoint.au3" #include <misc.au3> Global $sFile = "C:\temp\presentation.pptx" Global $sString2Search = "<username>", $sString2Replace = "Password", $iReplaceOnce = 1, $sFullLogFile = "C:\temp\pptxlog.txt" _ProcessPpt($sFile) Func _ProcessPpt($sFile) $oApp = _PPT_PowerPointApp() Local $bChange = False Local $oInterface = $oApp.Presentations Local $oPresentation = $oInterface.Open($sFile, False, False, False) If @error Then _FileWriteLog($sFullLogFile, "E Error " & @error & " opening File " & $sFile) Return SetError(1, 0, 0) EndIf ;it does not even open my file and from here not sure how to read the text and replace it EndFunc ;==>_ProcessPpt
  6. Anyony interested in a function to retrieve the Outlook mailbox quotas for Exchange mailboxes? If yes, then this function could be added to the OutlookEX UDF. Result could look like (will later be returned in an array):
  7. I wrote a macro for outlook to send an email. Till yesterday it worked, don't know why it is not working today I am getting below error when I ran the macro.
  8. Through below script I am able to send mail with the Outlook installed in my machine. But I am getting below prompt whenever I ran this script,by Outlook. Can anyone suggest how to suppress this. #include <MsgBoxConstants.au3> ; Counting the number of open shell windows Local $oShell = ObjCreate("Outlook.Application") ; Get the Windows Shell Object If IsObj($oShell) Then $Mail = $oShell.CreateItem(0) $Mail.To = "" $Mail.Subject = "Action" $Mail.Body ="Pay rise please" $Mail.Send() EndIf
  9. Hi all I been using autoit some years ago and needed a tool for changing various in outlook so i found autoit again and i allready succeed in some of this, but i cant find and delete an appointment. I have found this example and the creation is ok (after i changed $oOL/$oOutlook typo) Https:// But i cant get the delete part to work and i keep on getting "not found" and an empty array (screen shoot of _ArrayDisplay attached) Please can someone tell me what i am missing, i have been searching and trying various but stil i have no luck in finding any items. I am using outloook 2013 and office365. I have been able to send mails and create appointment, so i guess my problem is not due to the use off office365.
  10. Hi, I have written the following code and although the email is successfully created from a template it just sits in my draft folder without being sent and I can't figure out why? #include <OutlookEX.au3> $Email = "" $Outlook = _OL_Open() $olItem = _OL_ItemCreate($Outlook, 1, "", "Feedback.oft", "To=" & $Email) _OL_ItemSend($Outlook, $olItem, Default) _OL_Close($Outlook) Place Feedback.oft in the same folder as the script for it to run. Oh and you have to have a working Outlook installation and mail profile set up SOLVED changed the 1 to $olMailItem Feedback.oft
  11. Purpose of script: To send emails in Outlook based on data in an excel spreadsheet. From: fields are entered for purposes of sending on behalf of (delegate), copies A2 cell from excel for To: field, Subject field is a static value and entered, returns to excel spreadsheet to read A1 and copy the first name and insert into the body of a template at an insertion point. The From, and the body of the email change based on region, so currently I have 6 different scripts that do essentially the same thing with some minor changes and want to consolidate into one script to save time. Question: To expedite the process of this and cut down on the amount of scripts, 6 in total I use daily, is it possible for me to somehow add the region to column C in excel, have autoit read column C values per row, and then decide which function, within a master script, to execute and loop this until there is no value in column C field? Example spreadsheet: Rob | |Midwest Annie | | Midwest Kyle | | MidAtlantic Rick | | MidAtlantic Blank | Blank | Blank | Example execution: Run Birthday.au3, execute loop part through hotkey Reads row 1, C1, value is Midwest, calls Midwest(), script runs as Midwest Birthday.au3 does currently Reads row 2, C2, value is Midwest, calls Midwest(), script runs as Midwest Birthday.au3 does currently Reads row 3, C3, value is MidAtlantic, calls MidAtlantic(), script runs as MidAtlantic Birthday.au3 currently Reads row 4, C4, value is MidAtlantic, calls MidAtlantic(), script runs as MidAtlantic Birthday.au3 currently Reads row 5, C5, value is null or blank, ends script through Exit Everything I have coded in my time in AutoIt has been based mostly on mouse based movements and I don't have variable programming knowledge so I feel like I'm close to understanding how to do this, but the reading/storing variables part is beyond my current skill set. Help is appreciated. Mail Merges don't work as delegated in Outlook 07, for those that might be questioning why I just don't do that. MidAtlantic Birthday.au3 Midwest Birthday.au3
  12. Hello everyone. Could you, please, help me with following problem? I need to send an email as different sender. The way "on behalf" does not fit me well enough. Much better for me would be something like declaring account credentials of the email i want to use and then use something like SendUsingAccount, but I am not able to figure out, how to get it from current OutlookEx.au3. Do you have any idea? Thanks a lot. Best Regards, Ligy
  13. Howdy! I've been reading through the OutLookEX documentation and examples for the past two days ( VERY well documented, very clear! ) But I've had trouble locating information on specifying what user to use. My outlook is linked to two email accounts and I can only manipulate the main account's stuff. A simple script I've been playing with is this ; Include Functions #include <OutlookEX.au3> ; Connect to Outlook Global $oOutlook = _OL_Open() If @error <> 0 Then Exit MsgBox(16, "Connect to Outlook", "Error connecting to Outlook. @error = " & @error & ", @extended = " & @extended) ;List the folders Global $aResult = _OL_FolderTree($oOutlook, "*") If @error <> 0 Then Exit MsgBox(16, "OutlookEX UDF: _OL_FolderTree Example Script", "Error accessing root folder. @error = " & @error) _ArrayDisplay($aResult, "OutlookEX UDF: _OL_FolderTree Example Script - All folders") It works like a charm but it only returns my main account's folders. I really hope I didn't overlook a wiki page or help file... Any assistance would be greatly appreciated! -Reiz
  14. Hi, I need a help on finding attachment from outlook which are in attachment section, not from the body. For e.g. Body contains signature and in the signature there would be bmp, gif files. I donot want them to save, but if any bmp,gif are in as attachment then would want to download them. If some one know then please help me on this.
  15. Hello all! I'm trying to figure out how to display the contents of my Microsoft Outlooks inbox inside of an AutoIt GUI. So far, I've managed to embed it perfectly and the website looks fantastic, but whenever I click on a message in my inbox, I can't view it. I also can't create new messages or search my inbox. I figured this was probably an ActiveX or JavaScript incompatibility. Any ideas? Local $oIE = _IECreateEmbedded() $browserObj = GUICtrlCreateObj($oIE, 20, 60, 780, 580) _IENavigate($oIE, "")
  16. I'm trying to script a way to add and remove accounts to a users Outlook profile. I _think_ adding can be done by creating PRF files but how can you delete an account without Exchange? We already have in place a web interface where we can say what users should be reading what email accounts, the output of the webpage writes a txt config file. Currently we use Thunderbird but users are wanting Outlook (for some reason, we don't run Exchange). In Thunderbird, when it starts, via an autoit script, it checks the webpage config file, looks to see what email accounts the user should be reading, each account has an ID we set in the web php, the script them looks in the users pref.js file for the ID's they should be ready and those that they shouldn't be reading anymore. The users pref.js is then edited, the lines with the ID they don't need to read are removed, for accounts that need adding, a template segment of pref.js file is copied locally, the ID number is inserted and the file is cat'ed to the users prefs.js. Thunderbird is then started and displays the email accounts that user should be reading, job done. This is what I'm trying to reproduce but with Outlook. Thoughts.... thanks. Chris
  17. OutlookEX



    Extensive library to control and manipulate Microsoft Outlook. Theads: Development - General Help & Support - Example Scripts - Wiki BTW: If you like this UDF please click the "I like this" button. This tells me where to next put my development effort KNOWN BUGS (last changed: )
  18. Is there a way to avoid that the hidden Excel window will be shown when another instance is opened / attached externally? Example: #include <Excel.au3> #include "..\Office\Outlook\OutlookEX.au3" ;adjust this path! Global $hGUI = GUICreate("Test") GUISetState() Global $aField9[2] = [9, $xlTextFormat] Global $aFieldInfo[1] = [$aField9] Global $oWorkbook = Null, $oExcel = _Excel_Open(False, False, True, False, True), $oOutlook = _OL_Open() Global $sWorkbook = @ScriptDir & "\Test.txt", $sExcel = @ScriptDir & "\Test.xlsx" $oWorkbook = _Excel_BookOpenText($oExcel, $sWorkbook, 2, $xlDelimited, Default, True, ",", $aFieldInfo, ".", Default, Default, 65001) $iRows = $oWorkbook.ActiveSheet.UsedRange.Rows.Count - 1 $iColumns = $oWorkbook.ActiveSheet.UsedRange.Columns.Count - 1 $oOutlook_Mail = $oOutlook.CreateItem(0) With $oOutlook_Mail .To = "" .CC = "" .BCC = "" .Subject = "Test" .Attachments.Add($sExcel, 1, 1) .Display EndWith Do Until GUIGetMsg() = -3 _OL_Close($oOutlook) _Excel_Close($oExcel, False, True) When I start the script it will load the comma separated text file hidden in the background, open a new Outlook window and attach an Excel file. Now, when I double click the attachment in the Outlook window to open the attachment also the hidden Excel window is shown. How can I avoid that the hidden window is shown? I'm using Office 2013.
  19. I have a compiled tool that has a few options for command line arguments to kick off specific functions. I've tested them via the cmd line and they work great. What I'd like to do next is make it so my email notification contains a hyperlink to the file with the argument included. This is what I have for my email function that DOES work: Func SendEmails($addAddressee,$id) IsOutLookOpen() $olApp = ObjCreate("Outlook.Application") $objMail = $olApp.CreateItem(0) ;$olMailItem With $objMail .Save .Subject = ("A form needs review - ID: "&$id) .HTMLBody = ('Please open the tool by clicking <a href="'&@ScriptDir&"\"&@ScriptName&'">HERE</a>.') $oRecipients=.Recipients .Display EndWith For $z=0 to UBound($addAddressee)-1 If $addAddressee[$z]<> '' Then $resolver=$oRecipients.Add($addAddressee[$z]) $resolver.Resolve EndIf Next EndFuncand this works without issue but I want to make it so when they click the link, it also passes the command line arg: .HTMLBody = ('Please open the tool by clicking <a href="'&@ScriptDir&"\"&@ScriptName&" -CMD "&$id&'">HERE</a>.')Does anyone know how I can achieve this?
  20. Doing some PC replacements for multi-user computers, one of the problems I run into is Outlook Archives. Each user may have some hidden away in the default AppData location, others are a bit smarter and put them on a network location. I think its time to come up with a script I can run as an admin on the computer that will compile the PST locations of all users to a file for me so I can make sure to not miss those in a PC swap. I would most likely enumerate the registry, but it appears there is a COM object that I can perhaps use as well (though not sure if that would be current user only, or can be implemented for an "all user" situation) before I go on the hunt any ideas or already created scripts for this function?
  21. Hello, I am new to AutoIt and am working on script which can check the outlook calendar for a given time slot and give an output if that slot is free or not. If not list the appointments. can this be done using the OutlookEX UDF? Please note i am using Outlook 2013 Please let me know. Thanks, Vishnu
  22. Hi Guys, I am trying to do a 'resend' of an email in outlook. I found some VBA that should do it , but it doesn't work; $oOutlook = ObjCreate("Outlook.Application") $myItem = $oOutlook.ActiveExplorer.Selection.Item(1) $myItem.Display $objItem = $oOutlook.ActiveExplorer.CommandBars.FindControl(Default,3165) ConsoleWrite($objItem.Name &@CRLF) ConsoleWrite($objItem.Caption &@CRLF) $objItem.Execute MsgBox(0,"","") $oOutlook = 0 Exit I don't get any errors.
  23. H ello to the members of the forum I'm searching a way to open Outlook 2003 with autoit .. do i need to use an UDF or can i use an object ? Thanks for your advices Jean-Marc
  24. I'm doing some Outlook e-mail automation and have hit what appears to be an error in SciTE. It's flagging an object property as a keyword. Here's the code: Func _EmailResults($filepath, $emailaddress) $objOutlook = ObjCreate("Outlook.Application") $objMail = $objOutlook.CreateItem($olMailItem) With $objMail .To = $emailaddress .Subject = @UserName & " Project Forecast for " & @MON & "/" & @MDAY & "/" & @YEAR .Attachments.Add($filepath & ".xlsx") EndWith Local $signature = $objMail.HTMLBody $objMail.HTMLBody = " Weekly forecast" & $signature $objMail.Send() EndFunc The problem is line 5, the .To = $emailaddress. SciTE kicks that out with " error: missing separator character before keyword. .To ~^" So it's seeing the "To" as the AutoIT keyword "To" from "From.. To.. Next" and telling me I wrote it wrong. However, the program compiles without error and runs correctly. Does anyone know a way to exclude .To from the checking? And does anyone know how to file a bug against SciTE? I went through the Scintilla site to the SourceForge page and just could not find a way to submit a bug. Thanks, all.
  25. Hi, i've been trying to get text from active Outlook 2013 window to read the mailbody text but it seems i need to do it with com instead, but how do i create the object from the active window and only if it's an actual active window of a mail only then retrieve the text in the body? Any pointers were to start even would be helpful Thanx !