• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

VBA - wysyłanie maila z załącznikiem przez thunderbirda

Object Storage Arubacloud
+1 głos
634 wizyt
pytanie zadane 3 marca 2022 w Visual Basic przez mariuszpn Nowicjusz (150 p.)

Cześć, Mam taki kod który działał u mnie dłuższy czas ale zmieniłem program pocztowy z Outlooka na thunderbirda i nie mogę tego przerobić. A działa on tak że z Excela generuje się pdf który jest zapisywany w danym katalogu a następnie załączany jest do wiadomości jako załącznik. Ktoś ma pomysł jak to zrobić na thunderbirda ?

 

Sub doPDF()

Dim pdfFileName As String
Dim pdfSaveDir As String
Dim pdfSaveDirYear As String
Dim pdfFile As String
Dim miesiac As String
Dim rok As String

Dim strDir As String
Dim iRet As Integer




ActiveSheet.Select
ActiveSheet.PageSetup.PrintArea = "$A$1:$F$110"
ActiveSheet.PageSetup.Orientation = xlPortrait ' Orientacja strony

If ActiveSheet.Range("b3") <> "" Then
ActiveSheet.Name = Left(ActiveSheet.Range("b3"), 3)
End If

' Pobranie z systemu aktualnego miesiąca i roku
miesiac = Month(Now)
rok = Year(Now)


' Ustalenie ścieżek zapisu pliku
pdfSaveDirYear = "C:\raport\" + rok + "\"
pdfSaveDir = "C:\raport\" + rok + "\" + miesiac + "\"
pdfFileName = "Raport" & Date & "_" & [numer].Value

pdfFile = pdfSaveDir + pdfFileName + ".pdf"
 'MsgBox pdfFile

' Sprawdzenie czy na dysku są katalogi, jeśli nie to tworzymy je
    strDir = pdfSaveDirYear
    
    If Dir(strDir, vbDirectory) = "" Then
        MkDir strDir
    Else
        'MsgBox "Directory year exists."
        strDir = ""
    End If
    
    strDir = pdfSaveDir
    
    If Dir(strDir, vbDirectory) = "" Then
        MkDir strDir
    Else
        'MsgBox "Directory month exists."
    End If


'Eksport do PDF

With ActiveSheet
    On Error Resume Next
    .ExportAsFixedFormat Type:=xlTypePDF, Filename:="\\" + pdfFile, Quality:=xlQualityStandard, IgnorePrintAreas:=False, OpenAfterPublish:=True
    On Error GoTo 0
End With



 'Tworzenie maila z odbiorcami, tytułem oraz załącznikiem
    Set xOutlookObj = CreateObject("Outlook.Application")
    Set xEmailObj = xOutlookObj.CreateItem(0)
    With xEmailObj
        .Display
        .To = "test@test.pl"
        .CC = "test@test.pl; test@test.pl"
        .Subject = pdfFileName
        '.Body = "..."'
        .HTMLBody = "treść wiadomości" & .HTMLBody
        .Attachments.Add pdfFile
        If DisplayEmail = False Then
            '.Send
        End If
 
End With

End Sub

 

1
komentarz 5 marca 2022 przez VBService Ekspert (254,880 p.)

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

+1 głos
1 odpowiedź 531 wizyt
0 głosów
1 odpowiedź 209 wizyt
pytanie zadane 1 września 2022 w Visual Basic przez morking Nowicjusz (210 p.)
+1 głos
2 odpowiedzi 689 wizyt
pytanie zadane 8 listopada 2021 w Visual Basic przez Quba Użytkownik (870 p.)

92,761 zapytań

141,685 odpowiedzi

320,483 komentarzy

62,105 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...