Avatar billede Soer1006 Praktikant
08. maj 2008 - 20:23 Der er 4 kommentarer

Automatisk generering af mail når excel-dokument åbnes/lukkes

Er det muligt at oprette et Exceldokument, som automatisk generer en mail til en foruddefineret modtager ved åbning af dokumentet?

Er det muligt at oprette et Exceldokument med en makro, som lukker Exceldokumentet og herefter automatisk generer en mail til en foruddefineret
modtager?
Avatar billede supertekst Ekspert
08. maj 2008 - 23:45 #1
Ja - det skulle ikke være umuligt via VBA.
Er er tale om en bestemt Excel-fil?
Anvender du OutLook?
Avatar billede Soer1006 Praktikant
09. maj 2008 - 14:25 #2
Jeg anvender i gennem arbejdet IBM Lotus Notes
Avatar billede Soer1006 Praktikant
09. maj 2008 - 14:29 #3
Sorry, svarede kun på det halve. Ja det er en bestemt excel-fil som helst ikke må lukkes uden det er meningen, da excel arket i samarbejde med en prisportal henter priserne over i et eksternt program. Der skal gerne sikres beskyttelse og opretholdelse af kommunikationen excel og prisportal imellem. For ellers prissættes udfra historiske priser istedet for realtime priser
Avatar billede mikker Nybegynder
12. juni 2008 - 12:53 #4
Mail i Notes:

Her er et stykke kode jeg bruger når jeg skal sende mails i Notes.


'          **************************
'          *  Lav filnavn          *
'          **************************

    gemmeleg = "Kassedifferencer " & Sheets("Ark1").Range("C8") & " " & Sheets("Ark1").Range("A6") & " - " & Sheets("Ark1").Range("B6")
    gemmeleg2 = Sheets("Ark1").Range("A6") & " - " & Sheets("Ark1").Range("B6")
DoEvents
   
    ActiveSheet.Cells.EntireColumn.AutoFit
    ActiveSheet.Range("A1").Select
DoEvents

    FilNavn = "I:\Kassedifferencer\" & gemmeleg & ".htm"
   
'          **************************
'          *  Find område          *
'          **************************

regnkas:
If Len(ActiveSheet.Range("A" & kasrk).Value) = 0 Then kasrk = kasrk - 1: GoTo regnkas

   
    omraade = "A8:" & kolbogstav & kasrk
   
'          **************************
'          *  Lav fil              *
'          **************************
   
     
       
       
        With ActiveWorkbook.PublishObjects.Add(xlSourceRange, _
        FilNavn, "Ark1", "$A$8:$" & kolbogstav & "$" & kasrk, _
        xlHtmlStatic, "kassedifferencer_19281", "")
        .Publish (True)
        .AutoRepublish = False
    End With
    'Application.WindowState = xlMinimized
    Range("A1").Select


'***************************************************************
'*  Send mail
'***************************************************************
       
'GoTo nosst ' Hvis afsendelse af mails skal springes over.
       
       
    Dim Maildb As Object 'The mail database
    Dim UserName As String 'The current users notes name
    Dim MailDbName As String 'The current users notes mail database name
    Dim MailDoc As Object 'The mail document itself
    Dim AttachME As Object 'The attachment richtextfile object
    Dim Session As Object 'The notes session
    Dim EmbedObj As Object 'The embedded object (Attachment)
    Dim text
    Dim Subject As String
    Dim Attachment As String
    Dim ccrecip(6) As Variant
   
'          **************************
'          * Find Butik            *
'          **************************

sendtil = ""
butrk = Sheets("Butikker").Range("I800").End(xlUp).Row

For i = 1 To butrk
If Left(Sheets("Butikker").Range("I" & i), 5) = Store Then sendtil = CStr(Sheets("Butikker").Range("I" & i))
Next i
   
If sendtil = "" Then MsgBox "Kunne ikke finde butikken": End
   
   
'          **************************
'          * Find DC                *
'          **************************

ccrecip(0) = ""
ccrecip(1) = ""
ccrecip(2) = ""

dcrk = Sheets("Butikker").Range("D600").End(xlUp).Row

For i = 1 To dcrk
If Sheets("Butikker").Range("D" & i) = Distrikt Then ccrecip(0) = CStr(Sheets("Butikker").Range("E" & i))
Next i

If ccrecip(0) = "" Then MsgBox "Kunne ikke finde pågældende DC": End
   
    Dim SaveIt As Boolean
        SaveIt = True
       
'          **************************
'          *  MailBody              *
'          **************************
   
    text = ("Til " & Store & ".") & Chr(13) & Chr(13)
    text = text & ("Hermed fremsendes butikkens kassedifferencer for perioden " & gemmeleg2 & ".") & Chr(13)

    Subject = CStr(gemmeleg)
   
    Set Session = CreateObject("Notes.NotesSession")
    UserName = Session.UserName
    MailDbName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1, UserName, " "))) & ".nsf"
    Set Maildb = Session.GETDATABASE("", MailDbName)
    If Maildb.IsOpen = True Then
          'Already open for mail
    Else
        Maildb.OPENMAIL
    End If
    'Set up the new mail document
    Set MailDoc = Maildb.CREATEDOCUMENT
    MailDoc.Form = "Memo"
    MailDoc.sendto = sendtil
    MailDoc.CopyTo = ccrecip
    MailDoc.Subject = Subject
   
'          **************************
'          *  Vedhæft              *
'          **************************
   
    Attachment = CStr(FilNavn)
   
    If Attachment <> "" Then
        Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment")
        Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachment, "Attachment")
    End If
    MailDoc.Body = text
    MailDoc.SAVEMESSAGEONSEND = SaveIt
    'Set up the embedded object and attachment and attach it
    'Send the document
    MailDoc.PostedDate = Now() 'Gets the mail to appear in the sent items folder
    MailDoc.send 0, recipient
    'Clean Up
    Set Maildb = Nothing
    Set MailDoc = Nothing
    Set AttachME = Nothing
    Set Session = Nothing
    Set EmbedObj = Nothing
    'send = SendNotesMail("Dagens RUV", filnavn, Recip(10), "Hermed dagens 'Rettelser uden VM'", True)

'Stop

Kill FilNavn ' sletter filen
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