Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Excel - Wklejanie zawartości schowka do wiadomości mail

15 Sty 2019 14:38 411 13
  • Poziom 23  
    Witam.
    Bardzo proszę o pomoc w dopisaniu brakującej części kodu.
    Potrzebuję w poniższym kodzie dopisać kod który wklei jako tekst wiadomości zawartość schowka która zostaje na początku kodu skopiowana, czyli mam na myśli zwykłe Ctrl+C/Ctrl+V:

    Kod: vb
    Zaloguj się, aby zobaczyć kod


    Tak by to miało docelowo wyglądać:

    Excel - Wklejanie zawartości schowka do wiadomości mail
  • Pomocny post
    Poziom 34  
    Ta tabelka to zawartość schowka?
    Jedna z opcji to 'rangetohtml' (było na forum) lub 'sendkeys'
  • Poziom 23  
    Tak, to dokładnie zawartość schowka. Może dołączę przykładowy plik. Jak w pliku kliknie się na przycisk to przeniesie mnie do utworzonego maila, ale nie wiem jak kod miałby wkleić tą tabelkę
  • Poziom 23  
    Ale nic się nie dzieje, nie wkleja się tabelka :(
  • Poziom 10  
    Jeżeli np to może być wklejone jako picture do maila to dodaj w References bibliotekę Outlook Object Library.

    Z grubsza to będzie tak:
    Sub SendMail()

    Dim Messager As New Outlook.Application
    Dim Mail As Outlook.MailItem
    Dim ark as Excel.Worksheet

    Set ark = ActiveSheet

    With ark
    Range("A2:D4").CopyPicture 'robimy zdjęcie albo po prosu .Copy

    End With


    Set Messager = New Outlook.Application
    Set Mail = Messager.CreateItem(olMailItem)

    With Mail
    .To = "wszędzie@pl"
    .CC = ""
    '.BCC = ""
    .Subject = "Obrazkowy"
    .Display
    .BodyFormat = 'jest jeszcze taki parametr z którym można pokombinować żeby nie tracić formatowania tekstu
    .HTMLBody = Mess + .HTMLBody
    End With
    ' nad HTMLBody też można z boku popracować

    Set WrdEdit = Messager.ActiveInspector.WordEditor

    WrdEdit.Application.Selection.Paste

    Set WrdEdit = Nothing
    Set Messager = Nothing
    Set Mail = Nothing

    End Sub
  • Poziom 23  
    Nic z tego mi nie wychodzi.
    W powyższym kodzie już od linijki poniżej wyskakują mi błędy i za nic nie umiem wkleić tej tabelki:
    Kod: vb
    Zaloguj się, aby zobaczyć kod
  • Poziom 34  
    Zobacz jeszcze raz podmieniłem załącznik
  • Poziom 23  
    Dalej to samo, nie ma tabelki, działa tak samo jak mój kod
  • Poziom 23  
    W tej trzeciej wersji już działa poprawnie :) Kod jest jak dla mnie skomplikowany, ale najważniejsze że działa. Jeszcze tylko dostosuję go do dedykowanego arkusza i będzie OK.
    Wielkie dzięki za pomoc
  • Poziom 10  
    Widocznie nie dodałeś w References projektu biblioteki Outlook Object Library.
    Można to zrobić ręcznie w kodzie, można za pomocą środowiska.
  • Poziom 23  
    Witam ponownie.
    Odświeżam temat bo potrzebuję pomocy.
    Powyżej uzyskałem na odpowiedź w tym temacie. Jednak potrzebuję trochę przerobić poniższy kod który kopiuje i wkleja tabele to wiadomości email. Poniższy kod działa idealnie tak jak tego chcę, jednak potrzebuję drobnej przeróbki oczywiście jeżeli jest taka możliwość. Chciał bym żeby kod zadziałał tak samo, ale żeby wiadomość została wklejona nie do aplikacji Outlook ale do przeglądarki Chrome i aplikacji Gmail w tej przeglądarce, czy jest taka możliwość?

    Kod: vb
    Zaloguj się, aby zobaczyć kod
  • Poziom 34  
    JaroFon napisał:
    ale do przeglądarki Chrome i aplikacji Gmail w tej przeglądarce

    Jest tak że microsoft "współgra" między swoimi aplikacjami czyli przez vba można "sterować" wordem , excelem, outlockiem, przeglądarką ie itp.
    Jeżeli chcesz coś "wysłać" do "obcej" aplikacji (czyli chrome) to albo bawisz się w wysyłanie 'sendkejsów' łapanie "okien" kopiuj i wklej (co na pewno będzie czasochłonne) lub instalujesz 'selenium' co z pozycji vba pozwoli ci "sterować" obcą przeglądarką.