Avatar billede kim1a Ekspert
26. august 2020 - 21:55 Der er 15 kommentarer og
1 løsning

VBA mail via Outlook online version (OWA)

Er der nogle af jer der har fundet en virkende løsning på at sende mail hvis man kun har online version af Outlook?

Jeg har fat i to løsninger, via noget der kaldes "send mail" og så via f.eks. gmail.

Gmail versionen er hentet herfra:
https://www.launchexcel.com/sending-e-mails-from-gmail-and-outlook-using-excel-vba/#gmail
Den fejler dog for mig ved subject line, uanset om jeg henviser til en celle værdi (sheet.range.value) eller en simpel text "test".

OWA/send mail versionen er herfra:
http://www.rondebruin.nl/win/s1/div/mail1.htm
Jeg kan godt få den til at vise en mailkladde, men det er som om den ikke sender.
Avatar billede ebea Ekspert
27. august 2020 - 08:39 #1
Det er kun Gmail versionen, som er baseret på en Online version.
Og når jeg tester den, så får jeg en memory fejl ??? uanset hvordan jeg opsætter mailen.

Rondebruin.nl er baseret på eget mail program (i det Link du henviser til). Den har jeg testet, og den virker uden problemer.
Avatar billede kim1a Ekspert
27. august 2020 - 14:26 #2
Det siger dog øverst:
The code on this page is working with all Microsoft mail programs.

Så den burde jo.....
Avatar billede ebea Ekspert
27. august 2020 - 14:40 #3
#2 - Der mangler jo al info om SMTP, Port Nr. og andet i versionen fra Rundebruin, for at kunne være på Online versionen!
Avatar billede kim1a Ekspert
27. august 2020 - 14:53 #4
Hm, okay - så er jeg lidt på den. Har du mere held med lidt Googling for at finde noget der kunne virke?
Avatar billede ebea Ekspert
27. august 2020 - 15:12 #5
#4 - Funktionen du eftersøger, er jo egentlig i Linket til Gmail versionen, da der netop defineres det som skal bruges for at komme på en konto! Det er også det som Microsoft refererer til, når de guider til email opsætning Online!
Men som skrevet tidligere, så får jeg en Memory fejl, når jeg opsætter koden, til at tilgå en mail konto!
Avatar billede ebea Ekspert
27. august 2020 - 16:12 #6
Har testet denne kode, og den virker. Så hvis du tilretter den med dine Microsoft SMTP oplysninger, samt Port nummer, mail adresse og password, burde den også virke hos dig, med OWA Outlook.

Sub SendEmailUsingGmail()

    On Error GoTo Err

    Dim NewMail As Object
    Dim mailConfig As Object
    Dim fields As Variant
    Dim msConfigURL As String

    Set NewMail = CreateObject("CDO.Message")
    Set mailConfig = CreateObject("CDO.Configuration")

    ' load all default configurations
    mailConfig.Load -1

    Set fields = mailConfig.fields

'Set All Email Properties

    With NewMail
        .Subject = "Test Mail"
        .From = "xxxxx@xxx.com"
        .To = "xxxxx@xxx.com"
        .CC = ""
        .BCC = ""
        .textbody = ""
    End With

    msConfigURL = "http://schemas.microsoft.com/cdo/configuration"

    With fields
        'Enable SSL Authentication
        .Item(msConfigURL & "/smtpusessl") = True

        'Make SMTP authentication Enabled=true (1)
        .Item(msConfigURL & "/smtpauthenticate") = 1

        'Set the SMTP server and port Details
        'To get these details you can get on Settings Page of your Gmail Account
        .Item(msConfigURL & "/smtpserver") = "smtp.gmail.com"
        .Item(msConfigURL & "/smtpserverport") = 587
        .Item(msConfigURL & "/sendusing") = 2

        'Set your credentials of your Gmail Account
        .Item(msConfigURL & "/sendusername") = "xxxxxxx@gmail.com"
        .Item(msConfigURL & "/sendpassword") = "*******"

        'Update the configuration fields
        .Update

    End With
    NewMail.Configuration = mailConfig
    NewMail.Send
    MsgBox ("Mail has been Sent")

Exit_Err:

    Set NewMail = Nothing
    Set mailConfig = Nothing
    End

Err:
    Select Case Err.Number

    Case -2147220973  'Could be because of Internet Connection
        MsgBox " Could be no Internet Connection !!  -- " & Err.Description

    Case -2147220975  'Incorrect credentials User ID or password
        MsgBox "Incorrect Credentials !!  -- " & Err.Description

    Case Else  'Rest other errors
        MsgBox "Error occured while sending the email !!  -- " & Err.Description
    End Select
    Resume Exit_Err
End Sub
Avatar billede ebea Ekspert
27. august 2020 - 16:14 #7
I tillæg til #6 - Husk at sætte flueben ved Microsoft CDO i VBA
Avatar billede kim1a Ekspert
06. september 2020 - 23:10 #8
Jeg må gøre noget helt galt, hver gang koden når til .subject så går den i fejl. Jeg prøvede forskellige smtp porte (ud fra hvad jeg læste på nettet), men samme fejl igen og igen.

Jeg må også indrømme at jeg ikke forstår hvordan den skaber en ny mail, når det er Onlineversionen af mailen.
Avatar billede ebea Ekspert
07. september 2020 - 08:53 #9
#8 - Da jeg testede den, indtastede jeg blot de felter som nu var aktuelle "Subject", "From", "To" o.s.v., og så SMTP, brugernavn og password.
Mailen blir' jo skabt, når du er indlogget på din konto, gennem dine SMTP og bruger informationer (Navn og password).

Huskede du at gøre CDO aktiv i din VBA indstilling?
Avatar billede kim1a Ekspert
07. september 2020 - 12:11 #10
Ja, det flueben er sat. Jeg har også blot kørt med at fjerne dem, eller lade den stå med "test" etc

Det er måske noget med at min instans af Outlook365 ikke tilader det? Kan man undersøge det når man selv logger ind som alm bruger?
Avatar billede ebea Ekspert
07. september 2020 - 12:24 #11
#10 - Svar skyldig, til det sidste i dit indlæg. Jeg har ikke selv testet mod Outlook, men mod Google, og uden problemer.
Men umiddelbart, så lyder det mærkeligt, at du ikke kan komme længere i din kode, end til .Subject
Vil  det sige, at du ikke på noget tidspunkt har været indlogget gennem dine SMTP, brugernavn og password opsætninger?
Avatar billede kim1a Ekspert
07. september 2020 - 12:50 #12
Jeg flyttede rundt på subjekt delen og login og den løber fint igennem login.

Men hvordan kan jeg ellers se jeg er indlogget?
Avatar billede ebea Ekspert
07. september 2020 - 13:52 #13
#12 - Jeg kunne kun se på Gmail, ved at min konto var aktiv. Hvordan det er på Outlook, må jeg blive svar skyldig. Men jeg går ud fra, at det er tilsvarende på Outlook.
Hele VBA koden, er jo tænkt som en funktion fra Excel, til at bruge Outlook, som OWA.
Avatar billede kim1a Ekspert
07. september 2020 - 15:17 #14
Din konto var aktiv - hvordan mener du? Måske jeg ikke forstår OWA?
Avatar billede ebea Ekspert
07. september 2020 - 16:04 #15
#14 - Det jeg mener med aktiv, er at når koden er gennemløbet, så åbner den op for min mail konto hos Gmail, og derved er jeg automatisk indlogget på min mail. Så jeg skal ikke aktivere min normale adgang til Google Gmail, men "hopper" direkte ind i mail systemet.
Avatar billede kim1a Ekspert
07. september 2020 - 23:14 #16
Okay, det sker ikke for mig. Den hopper slet ikke i browser eller noget.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester