07. september 2006 - 17:16Der er
7 kommentarer og 1 løsning
VB Lav mail med vedhæfted filer
Hey jeg har prøver at få en vb kode til også at vedhæfte filer men uden held
er der nogle som kan hjælpe med det!?
fil navnene kommer fra cellerne + en fast text og .pdf og et fast dir.
Private Declare Function ShellExecute Lib "shell32.dll" _ Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, _ ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, _ ByVal nShowCmd As Long) As Long
Sub SendEMail() Dim Email As String, Subj As String Dim Msg As String, URL As String Dim r As Integer, x As Double Dim Vedhæft_1a As String Dim Vedhæft_2a As String Dim Vedhæft_3a As String Dim Vedhæft_1b As String Dim Vedhæft_2b As String Dim Vedhæft_3b As String Dim Dir As String Set olNewMail = CreateItem(olMailItem)
Dir = "G:/test/"
'Kun hvis celler = talværdi Vedhæft_1a = Dir & Cells(r, 4) & "KL.pdf" Vedhæft_1b = Dir & Cells(r, 4) & "KV.pdf" Vedhæft_2a = Dir & Cells(r, 10) & "Kl.pdf" Vedhæft_2b = Dir & Cells(r, 10) & "KV.pdf" Vedhæft_3a = Dir & Cells(r, 16) & "KL.pdf" Vedhæft_3b = Dir & Cells(r, 16) & "KV.pdf"
For r = 2 To 25 'data in rows 2-4 Rem Get the email address Email = Cells(r, 21)
If Cells(r, 21) <> "" Then bygMail r End If Next r End Sub Private Sub bygMail(r)
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Sub SendEMail() Dim Email As String, Subj As String Dim Msg As String, URL As String Dim r As Integer, x As Double Dim Vedhæft_1a As String Dim Vedhæft_2a As String Dim Vedhæft_3a As String Dim Vedhæft_1b As String Dim Vedhæft_2b As String Dim Vedhæft_3b As String Dim Dir As String ' Dir er et reseveret udtryk i VisualBasic, det bør ikke bruges som en variant. Set olNewMail = CreateItem(olMailItem)
Dir = "G:/test/"' Dir er et reseveret udtryk i VisualBasic, det bør ikke bruges som en variant.
' Gælder nedenstående, r for ikke tildelt en værdi, hvilke celler skal den kikke i 'Kun hvis celler = talværdi Vedhæft_1a = Dir & Cells(r, 4) & "KL.pdf" Vedhæft_1b = Dir & Cells(r, 4) & "KV.pdf" Vedhæft_2a = Dir & Cells(r, 10) & "Kl.pdf" Vedhæft_2b = Dir & Cells(r, 10) & "KV.pdf" Vedhæft_3a = Dir & Cells(r, 16) & "KL.pdf" Vedhæft_3b = Dir & Cells(r, 16) & "KV.pdf"
det vil være nemmere at læse koden, hvis du brugte
Select Case (Cells(r, 4)) Case Is = "A" Msg = Msg & "A" & vbCrLf Case Is = "B" Msg = Msg & "B" & vbCrLf Case Is = "C" Msg = Msg & "C" & vbCrLf Case Is > 0 Msg = Msg & "Tal" & vbCrLf olNewMail.Attachments.Add Vedhæft_1a & Vedhæft_1b End Select
i stedet for
If (Cells(r, 4)) = "A" Then Msg = Msg & "A" & vbCrLf ElseIf (Cells(r, 4)) = "B" Then Msg = Msg & "B" & vbCrLf ElseIf (Cells(r, 4)) = "C" Then Msg = Msg & "C" & vbCrLf ElseIf (Cells(r, 4)) > 0 Then Msg = Msg & "Tal" & vbCrLf .Attachments.Add Vedhæft_1a & Vedhæft_1b End If
i hver kolonne i "V2:AA26" ville jeg have en formel =Sammenkædning("g:/text/";$D2;"KL.pdf"). det ville give mig problemer for man skal kunne rykke runde på den data i "A2:T26" kulonne "U" er en kode til at hente mail adresser fra kolonne "B"
Hvordan få jeg den til at have et fast "dir" hvor den skal hente filerne fra og del vis celleværdi og fast tekst, som fil navn.
r er for række nr. så den for hver række som har værdi "mail add" i "U" skal den lave en mail med de værdier på rækken og de tal der er i "D:J:P" skulle den vedhæfte de filer som er i "G:/test/"
Det er ok, som du gør det, men du må ikke kalde den Dir, du kan kalde den
Dim strDir As String
eller lignende, man bruger ikke de reseverede navne til variabler
i din nederste kode skriver du også .Attachments.Add Vedhæft_1a & Vedhæft_1b men den kender ikke objektet som skal stå foran punktummet, det kendes kun i den øverste makro.
Hej SPLOKIT, du har de samme problemer som jeg, vi "udfører" samme job fra samme kunde, Hvis du får en løsning, eller jeg gør, kan vi så udveksle den løsning en af os finder? Min mail johnnymadsen@email.dk hvis du har mod på dette.
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.