< návrat zpět

MS Excel


Téma: Mail cez Outlook rss

Zaslal/a 10.2.2015 18:55

Ahojte, potreboval by som poradit. Mam Zosit ktory obsahuje harok1 s:

A=cislo
B=Cislo

Ak A>B, excel pri otvoreni zosita posle mail(adresa je na harku, ale moze byt zadana v zdrojovom kode).
Predmet spravy je: chyba
Text správy je: chyba+nazov celeho zosita (nazov zosita je mail).

Nasiel som tu par prikladov, ale nejak som to nevedel aplikovat na moj problem.
Dakujem za pomoc

Příloha: rar23578_mail.rar (6kB, staženo 27x)
Zaslat odpověď >

#023581
avatar
třebaDim OutApp As Object
Dim OutMail As Object
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
On Error Resume Next
With OutMail
.To = "xxx@xxx.com"
.cc = ""
.BCC = ""
.Subject = "chyba!"
.Body = "chyba+nazov celeho zosita (nazov zosita je mail)"
.send
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
citovat
#023610
avatar
Dakuejem moc funguje perfektnecitovat
#025653
avatar
Ahojte, dal by sa do body pridat hyperlink? Dakujemcitovat
#025665
elninoslov
Na W8.1 a Office 2013 x64 to končí chybou hneď na
Set OutApp = CreateObject("Outlook.Application")
vyžaduje práva správcu.
Na akom Win a Office Vám to funguje ?citovat
#025667
avatar
Já běžně používám na W7 a Office 2010.
P.citovat
#025680
elninoslov
Ako vždy :
čím novší - tým "lepší"

PS: Hovorím hlavne o Win, pretože toto je špecifikum W8/W8.1/W8.1.1 (a stavím krk na to, že aj W10). Často programy ani nedokážu zapísať svoj súbor, bez spustenia ako Správca (Administrátor nestačí).

Ale ak by sa našlo riešenie aj pre moju novšiu a "lepšiu" kombináciu, nebudem sa hnevať ani ja, pretože uvažujem o implementácii niečoho takéhoto do svojej aplikácie.citovat
#025719
elninoslov
Č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: jpg25719_outlookpovolenie.jpg (38kB, staženo 25x)
25719_outlookpovolenie.jpg
citovat
icon #025732
avatar
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ť ?
Dá sa to vyriešiť tak, že ako klienta nepoužiješ Outlook :)
http://www.rondebruin.nl/win/s1/cdo.htmcitovat
#025736
elninoslov
1. Tento súbor premenovať na meno mailu (pred zavináčom)
2. Pri otvorení napíše chybu, že nemôže odoslať mail, samozrejme, lebo treba nastaviť ešte
3. V časti "With Flds" vyplniť celú mail adresu z ktorej sa bude odosielať mail, heslo, port, a smtp server.
4. V časti ".To =" zmeniť na konci doménu (za zavináčom) mailu, na ktorú sa pošle správa.
5. V časti ".From =" zmeniť zobrazované meno odosielateľa a mail odosielateľa
6. V časti ".HTMLBody" zmeniť Hyperlinkový odkaz a text
7. V časti "Chyba:" zabezpečiť, čo sa udeje, ak nebude možné odoslať mail.

To či je názov súboru mail celý alebo len pred @, a to či je ten názov súboru mail odosielateľa či príjemcu, si už snáď dokážete zmeniť.
Příloha: rar25736_elninoslov.rar (19kB, staženo 23x)
citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje