25. august 2020 - 14:42Der er
17 kommentarer og 1 løsning
ændre afsender postkasse
Her er et lille udpluk fra en længere kode jeg har haft megen gavn af, men nu vil jeg gerne høre om der findes en kode for afsender (From) der kan sættes ind i nedenstående. Jeg har adgang til flere servicepostkasser ud over min personlige, og så ville det løse en arbejdsgang, hvis man, via en henvisning til en celle, få åbnet mailen med den ønskede "afsenderpostkasse".
With OutlookMail .To = "email address" 'can instead be linked to a cell in the excel sheet .CC = "" .BCC = "" .Subject = "Cost status report - " & ActiveWorkbook.Worksheets("Dev Report").Range("D5") & " - " & ActiveWorkbook.Worksheets("Dev Report").Range("D4") & " - " & ActiveWorkbook.Worksheets("Dev Report").Range("R4") .body = "Hi" & Chr(10) & Chr(10) & "Please find attached cost status report for " & ActiveWorkbook.Worksheets("Dev Report TEST").Range("D4") & " at end of " & ActiveWorkbook.Worksheets("Dev Report TEST").Range("R4") & Chr(10) & Signature .Attachments.Add TempFileName
Et skud, ud fra din manglende, resterende del af koden. Længere oppe i din kode, hvor du har defineret din Outlook (Set), kan du prøve at tilføje denne kodelinje, under de linjer.
Set OutAccount = OutApp.Session.Accounts.Range("A1").Value
Hvor du kan opsætte en DropDown liste med dine postkasser (A1) i eks.
Nu er jeg heller ikke nogen ørn til vba, og syntes ikke lige jeg kan få det til at virke med dit forslag. Her er den fulde kode, som du efterlyste. Sub Mad_bestilling()
Sheets("Mad").Select
Dim DataSti As String Dim Filnavn As String Dim objFolders As Object Set objFolders = CreateObject("WScript.Shell").SpecialFolders Dim OutlookPrg As Object Dim OutlookMail As Object Dim cpr As String
With ActiveSheet navn = .Range("k4") modtager = .Range("k2") tlf = .Range("k3") cpr = .Range("K6").Text End With
Set OutlookPrg = CreateObject("Outlook.Application") Set OutlookMail = OutlookPrg.CreateItem(0)
Den kodestump jeg henviste til i #1, vil ikke virke i den opsætning du har på din mail funktion. Men da du bruger funktionen .Display i koden, til at vise mailen inden den sendes, ville det også være nemmere for dig, og også spare taste klik, end ved at placere en funktion i koden, når du ved blot at klikke 1 gang på de valg du har i den viste mail, kan vælge afsender på mailen. Dette gøres ved at klikke på Pilen, til venstre for modtager linjen!
De afsendere du har, er jo defineret i Outloook (som er dit mail program) i forvejen, så du vil få en oversigt over disse, når du klikker på Pilen.
Havde bare håbet der var en løsning ( ikke for kompliceret :-)), da skemaet bruges på flere Matrikler, hvorfor afsender, navn og tlf) vil fremkomme i en celle via opslag ud fra den enkelte matrikel. Ved ikke om dette giver mening.
#6 - Nej, det gir' ikke rigtig mening ;-) Når du skriver Matrikler, går jeg ud fra, at det er flere forskellige brugere. Og da disse bruger samme kode, vil de også bruge den afsender som de nu er (Den mail opsætning de har i deres mail program).
Og opslaget du henviser til går jeg ud fra, er det som er vist i din kode (K2, K3, K4 og K6). Men det er jo kun en tekst som indsættes, og ikke afsenderen af emailen!
#8 - Jeg forstår ikke helt dine forklaringer! Prøv med denne kode, som henter en mail adresse, og kan baseres på en DropDown liste, og værdien i A1.
Sub Mad_bestilling() Sheets("Mad").Select
Dim DataSti As String Dim Filnavn As String Dim objFolders As Object Set objFolders = CreateObject("WScript.Shell").SpecialFolders Dim OutlookPrg As Object Dim OutlookMail As Object Dim cpr As String Dim emailRng As Range, cl As Range
Set emailRng = Worksheets("Mad").Range("A1") For Each cl In emailRng mTo = mTo & ";" & cl.Value Next
mTo = Mid(mTo, 2)
With ActiveSheet navn = .Range("k4") modtager = .Range("k2") tlf = .Range("k3") cpr = .Range("K6").Text End With
Set OutlookPrg = CreateObject("Outlook.Application") Set OutlookMail = OutlookPrg.CreateItem(0)
Denne løsning er vist den samme som oprindelig, havde fået den til at indsætte modtagermail adressen, det var bare hvis det også var muligt, indsætte afsender mail adressen via f eks, eller hvordan det nu kan gøres :-)
With ActiveSheet navn = .Range("k4") modtager = .Range("k2") tlf = .Range("k3") cpr = .Range("K6").Text afsender =.Range("K8") End With
'Og dermed With OutlookMail
.From = afsender .To = modtager .CC = "" .BCC = "" .Subject = navn & " . " & "Orientering om bestilling af mad.”" .Body = "Hermed fremsendes madbestilling" & vbCrLf & vbCrLf & "Med venlig hilsen" & vbCrLf & navn & vbCrLf & "tlf " & tlf .Attachments.Add (DataSti & Filnavn) .Display End With
#10 - Ja, jeg kan heller ikke selv, blive helt klar på, hvad det er der! Nej en .FROM findes ikke. Men FROM er jo afsenderen på emailen, altså post adressen. Så jeg må gå ud fra, at det er dette ;-)
#11 - Og hvor tænker du så, at den afsender skulle placeres i mailen? Afsenderen er jo i Oulook, placeret i linjen øverst i mailen som modtages. Så jeg kan ikke rigtig se, hvor du vil placere endnu en!
afsender = afsenderpostkassen, som du nævnte #5 "De afsendere du har, er jo defineret i Outloook (som er dit mail program) i forvejen, så du vil få en oversigt over disse, når du klikker på Pilen. "
Jeg er lidt "excel-retarderet" og ved ikke om dette giver mening :-)
Grunden til at jeg gerne ville have at den automatisk genererede mail skulle kunne åbnes med en "afsendermailadresse", er også at dem der kommer til at bruge skemaet har en fælles postkasse (servicepostkasse) på hver enkel matrikel, således, det ikke er den enkelte person der modtager en evt svarmail, men den gruppe der nu er tilknyttet. Men tænker efterhånden jeg bruger den oprindelige kode, og må så præcisere for "brugerne", at de skal vælge den fælles postkasse som afsender.
#15 - Det er også det jeg refererede til i #5. Når du ikke er på noget Online, er du jo pr. definition på den mail konto, du har valgt som standard i Outlook.
#16 - Kan du så ikke lave det i Subject feltet, ved at hente navnet fra f.eks. K8 som du foreslår. Så vil det fremgå i overskriften på mailen!
Synes godt om
Ny brugerNybegynder
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.