16. maj 2011 - 10:17Der er
7 kommentarer og 1 løsning
3 mindre spørgsmål til VBA i Excel
Hej
Jeg har en macro - jeg har kopieret for Ron's excel tips.
Jeg har ingen VBA erfaring overhovedet - ud over det jeg har kunnet sakse fra forskellige steder ;o)
Følgende er en tekst som indsættes i en mail
Please see attach Audit trail for sh.Range[D4] Meningen er at den skal tage værdien i celle D4 og indsætte - men det gør den ikke - den skal ændres - men jeg ved ikke til hvad ?
1) "Please see attach Audit trail for " & sh.range("d4") 2) f.eks. activesheet.range("b2").value 3) Er lidt mere kompliceret, da du ikke umiddelbart kan finde Outlook signaturen i Excel. Du er nødt til at kalde Outlook objektet i Excel før du kan finde signaturen. Hvordan kalder du det i forbindelse med "send"? Kan du ikke lige give et eksempel.
Kan godt forstå, du glæder dig til VBA kursus. Men husk, at det bare sætter dig igang. Du lærer det først, når du begynder at arbejde med det. :-)
hmmm jeg kan ikke få nummer 1 til at virke Prøver lige at sætte hele macroen ind Sub Mail_Payroll_Expat()
Dim FileName As String
If ActiveWindow.SelectedSheets.Count > 1 Then MsgBox "There is more then one sheet selected," & vbNewLine & _ "ungroup the sheets and try the macro again" Else 'Call the function with the correct arguments
'For a fixed range use this line FileName = RDB_Create_PDF(Range("A1:E60"), "C:\audittrail.pdf", True, False) If FileName <> "" Then RDB_Mail_PDF_Outlook FileName, Sheets("Mail").Range("B2").Value, "Audit trail for Range(D4).value", _ "Please see attach Audit trail for Range(D4).value" _ & vbNewLine & vbNewLine & "Regards Ron de bruin", False Kill FileName Else MsgBox "Not possible to create the PDF, possible reasons:" & vbNewLine & _ "Microsoft Add-in is not installed" & vbNewLine & _ "You Canceled the GetSaveAsFilename dialog" & vbNewLine & _ "The path to Save the file in arg 2 is not correct" & vbNewLine & _ "You didn't want to overwrite the existing PDF if it exist" End If End If End Sub
Måske det giver cluet - nummer 2 er ikke afprøvet endnu
Nummer 3 - var ikke en væsentlig en - bare nice to have
hurtigt tillægsspørgsmål til nr. 2. Jeg har behov for at hente flere mail adresser til den samme mail. Alle mail adresser findes i arket Mail - men ligger spredt som
Jeg har jo ikke hele koden, så jeg har ikke haft lejlighed til at teste, men det må være noget i denne stil. Læg mærke til den indsatte do-loop sekvens og prøv dig frem.
Koden leder efter "@" i kolonne B. Jeg går ikke ud fra, at du har snabel-a'et bliver brugt andre steder end i mail adressen.
Sub Mail_Payroll_Expat() Dim r1 As Long, r2 As Long Dim FileName As String
If ActiveWindow.SelectedSheets.Count > 1 Then MsgBox "There is more then one sheet selected," & vbNewLine & _ "ungroup the sheets and try the macro again" Else 'Call the function with the correct arguments
'For a fixed range use this line 'FileName = RDB_Create_PDF(Range("A1:E60"), "C:\audittrail.pdf", True, False) If FileName <> "" Then r1 = 1 Do r2 = Cells.Find("@", Cells(r1, 2), xlValues, xlPart).row If r2 < r1 Then Exit Sub End If RDB_Mail_PDF_Outlook FileName, Sheets("Mail").Cells(r2, 2).Value, "Audit trail for " & Cells(r2, 4), _ "Please see attach Audit trail for " & Cells(r2, 4) _ & vbNewLine & vbNewLine & "Regards Ron de bruin", False r1 = r2 + 1
Loop Kill FileName
Else MsgBox "Not possible to create the PDF, possible reasons:" & vbNewLine & _ "Microsoft Add-in is not installed" & vbNewLine & _ "You Canceled the GetSaveAsFilename dialog" & vbNewLine & _ "The path to Save the file in arg 2 is not correct" & vbNewLine & _ "You didn't want to overwrite the existing PDF if it exist" End If End If End Sub
Ja, hvis du kun har de tre mailadreser, så er det da helt klart det nemmeste. Ovenstående kode siger på, at der kan være et variabelt antal mailadresser :-)
Svar: Se nr. #6.
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.