Čiastočne som tomu prišiel na kĺb:
Vyššie spomínaná chyba sa po týždňovej pauze, keď som sa teraz k tomu vrátil neobjavuje.
kp57 mi dal ešte nápad, či by nepomohlo vytvorenie privátneho certifikátu napr. podľa tohto
http://www.howto-outlook.com/howto/selfcert.htm
ale neviem posúdiť, keďže chyba zmizla skôr ako som to vyskúšal.
Ak Vám stačí posielať mail z mailového konta č. 1, tak môžete použiť
Dim OutApp As Object
Dim OutMail As Object
Ak ale máte v Outlooku niekoľko mailových kont, a chcete posielať z iného, treba použiť
Dim OutApp As Outlook.Application
Dim OutMail As Outlook.MailItem
To ale môžete použiť iba v prípade, že najskôr pridáte vo VBA - Tools - References - Microsoft Outlook 15.0 Object Library.
Je to potrebné pre to, aby ste mohli použiť číslo konta
.SendUsingAccount = OutApp.Session.Accounts.Item(From)
Pre vloženie Hypertextového odkazu bude potrebné použiť HTMLBody namiesto Body, kde bude ale pravdepodobne potrebné používať HTML značky, ako v kóde HTML stránky.
.HTMLBody = "text v maile" & "<br />" & "<a href=""http://www.google.com"">Google</a>"
Aby ste najskôr iba videli ako bude mail vyzerať zmente
.Send
na
.Display
nič sa neodošle, iba Vám zobrazí správu.
Celý kód:
Sub SendMail()
Dim OutApp As Outlook.Application
Dim OutMail As Outlook.MailItem
Dim Sender As String, From, i As Byte
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
Sender = "odkoho@odkoho.sk"
On Error Resume Next
For i = 1 To OutApp.Session.Accounts.Count
If OutApp.Session.Accounts.Item(i) = Sender Then From = i: Exit For
Next i
If From = 0 Then
MsgBox ("Odosielateľ " & Sender & " v Outlooku neexistuje.")
GoTo Koniec
End If
With OutMail
.To = "komu@komu.sk"
.CC = ""
.BCC = ""
.Subject = "skúška"
.HTMLBody = "text v maile" & "<br />" & "<a href=""http://www.google.com"">Google</a>"
.SendUsingAccount = OutApp.Session.Accounts.Item(From)
.Send
End With
Koniec:
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
End Sub
Ale mám zatiaľ nevyriešený problém. A to je potreba odkliknúť povolenie pre odoslanie mailu "aplikáciou v zastúpení" Outlooku, čiže makrom. Neviete ako by sa to dalo vyriešiť ?
Příloha: 25719_outlookpovolenie.jpg (38kB, staženo 25x)
citovat