13. december 2006 - 10:56Der er
44 kommentarer og 1 løsning
Sende direkte regneark via mail i Excel
Kan man lave en macro i Excel, således at man kan sende det åbnede regneark fra Excel direkte til en mailadresse og kan man evt. lave et icon i Excel som man blot kan klikke på så det sender til en fast adresse?
Er der da ingen der ved hvordan man sender et aktivt excel regneark til en fast mailadresse uden først at skulle udfylde modtagerens mailadresse manuelt?
Du kunne måske bruge denne. Husk i vba at sætte reference til ms outlook
Sub Send_via_Outlook() Dim olApp As Outlook.Application Dim olNewMail As Outlook.MailItem Dim szBodyTekst As String Set olApp = New Outlook.Application Set olNewMail = CreateItem(olMailItem) szBodyTekst = "Hermed fremsendes nye regneark" & vbCr szBodyTekst = szBodyTekst & "mvh" & vbCr szBodyTekst = szBodyTekst & "Tommy Bak" & vbCr
With olNewMail .Recipients.Add "tbc@linak.dk" .Subject = "Nye regneark" .Body = szBodyTekst With .Attachments .Add ThisWorkbook.Path & "\" & ThisWorkbook.Name End With .OriginatorDeliveryReportRequested = True .Display '.Send End With Set olNewMail = Nothing Set olApp = Nothing
Har sat flueben i microsoft Office X.X Object Library samt Microsift Outlook 11.0 objekt library men det virker stadig ikke! Kan jeg evt. sende arket til jer så i kan se om det er rigtigt lavet?
Har smide koden ind og addet Microsift Outlook ?.? objekt library så virket det med det samme..
Sub Send_via_Outlook() Dim olApp As Outlook.Application Dim olNewMail As Outlook.MailItem Dim szBodyTekst As String Set olApp = New Outlook.Application Set olNewMail = CreateItem(olMailItem) szBodyTekst = "Hermed fremsendes nye regneark" & vbCr szBodyTekst = szBodyTekst & "mvh" & vbCr szBodyTekst = szBodyTekst & "Tommy Bak" & vbCr
With olNewMail .Recipients.Add "tbc@linak.dk" .Subject = "Nye regneark" .Body = szBodyTekst With .Attachments .Add ThisWorkbook.Path & "\" & ThisWorkbook.Name End With .OriginatorDeliveryReportRequested = True .Display '.Send End With Set olNewMail = Nothing Set olApp = Nothing
Sub Mail_Range() 'Working in 2000-2007 Dim Source As Range Dim Dest As Workbook Dim wb As Workbook Dim TempFilePath As String Dim TempFileName As String Dim FileExtStr As String Dim FileFormatNum As Long
Set Source = Nothing On Error Resume Next Set Source = Range("A1:K50").SpecialCells(xlCellTypeVisible) On Error GoTo 0
If Source Is Nothing Then MsgBox "The source is not a range or the sheet is protected, please correct and try again.", vbOKOnly Exit Sub End If
With Application .ScreenUpdating = False .EnableEvents = False End With
Set wb = ActiveWorkbook Set Dest = Workbooks.Add(xlWBATWorksheet)
Source.Copy With Dest.Sheets(1) .Cells(1).PasteSpecial Paste:=8 .Cells(1).PasteSpecial Paste:=xlPasteValues .Cells(1).PasteSpecial Paste:=xlPasteFormats .Cells(1).Select Application.CutCopyMode = False End With
If Val(Application.Version) < 12 Then 'You use Excel 2000-2003 FileExtStr = ".xls": FileFormatNum = -4143 Else 'You use Excel 2007 FileExtStr = ".xlsx": FileFormatNum = 51 End If
With Dest .SaveAs TempFilePath & TempFileName & FileExtStr, FileFormat:=FileFormatNum On Error Resume Next .SendMail "", _ "This is the Subject line" On Error GoTo 0 .Close SaveChanges:=False End With
Kill TempFilePath & TempFileName & FileExtStr
With Application .ScreenUpdating = True .EnableEvents = True End With End Sub
Jeg bruger Microsift Outlook 10.0 objekt library du skal nok hvis ikke den selv gøre adde Microsift Outlook 11.0 objekt library. For den var ikke sadt til...
der er ingen modul og den sletter arkindholdet når jeg trykker på kommandoknappen som du har tilpasset. Betyder det noget at det er Outlook Express jeg bruger?
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.