# outlook macro

## 3 posts in this topic

#1 ·  Posted

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.

#### Share this post

##### Share on other sites

#2 ·  Posted

SendMail.bas This is the macro file exported.

#### Share this post

##### Share on other sites

#3 ·  Posted

The error disappeared once I dereferenced OLE Automation and Microsoft office (version) Object library.

I followed #4 of below link..

## 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

• ### Similar Content

• By cag8f
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.

• By SkysLastChance
I have a Razer Blackwidow Ultimate keyboard that has 5 extra keys marked M1 - M5. I was wondering if I would be able to setup Macros in AutoIt using these.
I saw that Fn key is not possible.
I am also aware that the M1 keys work with razor snyapse. However, I am at work and can't download that program.
If someone could let me know and point me in the right direction if it is possible I would be grateful.
• By TheAutomator
How can you get the downloads folder in AutoIT?
As far as i know there isn't a macro for it right? like @Downloads or something?
The ugly solution would be typing in the whole path but what if the user has chosen another location?
Need to clear that folder regularly on my work and on different accounts..
regards, TheAutomator
• By zetaimmersion
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
• By Smigacznr1
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. 1.3.1.0
Any ideas?