W jaki sposób w VBA wkleić skopiowaną z Excela tabelę do treści maila?

Anonimowe
2023-01-14T23:54:07+00:00

Korzystając z excela i dostępnych makr kopiuję pewien zakres komórek. Następnie, przy pomocy tego samego makra, otwieram nowego maila z określonym tematem i odbiorcą. Niestety nie wiem jak wkleić skopiowany wcześniej zakres do treści emaila.

Microsoft 365 i pakiet Office | Excel | Do użytku biznesowego | Windows

Pytanie zablokowane. To pytanie zostało zmigrowane ze społeczności pomocy technicznej firmy Microsoft. Możesz zagłosować, czy pytanie jest pomocne, ale nie możesz dodawać komentarzy ani odpowiedzi, ani też śledzić pytania.

Komentarze: 0 Brak komentarzy

Odpowiedzi: 6

Sortuj według: Najbardziej pomocne
  1. Oskar Shon 49,336 Punkty reputacji Moderator wolontariuszy
    2023-03-24T13:12:28+00:00

    Tomasz nie wiem czemu się wcinasz Emilia861, dodając kawałek kodu, w którym widać że ignorujesz formatowanie w htmlu.

    Poza tym stosujesz zamienną obiektową SendingRng do określenia zakresu, z którego też nie korzystasz.

    Wiele poleceń masz za komentowane, i generalnie śmietnik nam tutaj pokazałeś co pewnie w niczym nie pomoże.

    Jak chcesz abym coś i tobie wytłumaczył, to miej odwagę wykonać ruch w postaci własnego wątku z ładnie i zwięźle sformułowanym pytaniem: z czym konkretnie masz problem :P

    Pozdrawiam.

    Czy ta odpowiedź była pomocna?

    Komentarze: 0 Brak komentarzy
  2. Anonimowe
    2023-03-24T11:20:13+00:00

    Private Sub SendEmail_tabelka_excel()
    Dim SendingRng As Range
    'On Error GoTo StopMacro

    'Application.ScreenUpdating = False
    'Application.EnableEvents = False
    plik_zalacznik = "podaj pełną ścieżkę" 'zalącznik
    lista_adresow = "@gmail.com;@gmail.com"
    wiad = "Ala ma kota"
    Set SendingRng = Worksheets("Arkusz1").Range("A1:B2") 'obszar range do wyslania

    With SendingRng
    .Parent.Select
    .Select
    ' tworzenie maila i wysyłka
    ActiveWorkbook.EnvelopeVisible = True
    With .Parent.MailEnvelope
    .Introduction = "Tutaj jest nagłowek"
    With .Item
    .To = "******@gmail.com" 'adres lub lista adresów odseparowana średnikiem
    .CC = lista_adresow 'DW
    .BCC = "" 'UDW
    .Subject = "tytuł maila"
    .Body = wiad
    '.HTMLBody = "<HTML><BODY>Tutaj jest wiadoość HTML.</BODY></HTML>"
    .Attachments.Add plik_zalacznik
    .send
    '.display
    End With
    End With
    End With
    'StopMacro:
    'With Application
    '.ScreenUpdating = True
    '.EnableEvents = True
    'End With
    'ActiveWorkbook.EnvelopeVisible = False
    End Sub

    Czy ta odpowiedź była pomocna?

    Komentarze: 0 Brak komentarzy
  3. Oskar Shon 49,336 Punkty reputacji Moderator wolontariuszy
    2023-01-16T22:20:12+00:00

    Jeśli chcesz użyć jakiekolwiek formatowanie to nie możesz używać .body ale .bodyhtml

    Trzeba zbudować string z danych jakie potrzebujesz i w języku HTML otagować konkretne wartości jakie mają być np pogubione, kolorowe lub gdzie będziesz chciała stosować inne niż domyślny format.

    Zatem musisz nauczyć się jakie to tagi i zastosować dla tego parametru.

    Pozdrawiam.

    Czy ta odpowiedź była pomocna?

    Komentarze: 0 Brak komentarzy
  4. Anonimowe
    2023-01-16T22:06:48+00:00

    Dzięki za odpowiedź. Chciałam to wkleić parametrem .Body, ale nie wiem jak wyciągnąć skopiowane wcześniej dane i dodatkowo nie wiem czy wklei się z zachowaniem formatowania. Dzięki za link do narzędzia, ale chciałam o podpowiedź do samego fragmentu kodu, nie koniecznie potrzebuję pełnego rozwiązania :)

    Czy ta odpowiedź była pomocna?

    Komentarze: 0 Brak komentarzy
  5. Oskar Shon 49,336 Punkty reputacji Moderator wolontariuszy
    2023-01-16T08:11:25+00:00

    Outlookowy obiekt Mailitem ma parametr .body oraz .bodyhtml

    Należy utworzyć zmienną tekstową w której znajdzie się tekst lub tekst w formacie html przed pokazaniem lub wysłaniem maila.

    Kiedyś przygotowałem takie proste narzędzie: http://vbatools.pl/email-z-obszaru-danych-arkusza/ 

    oraz inny, który wrzuca dane do załącznik, a nie do treści: http://vbatools.pl/email-skompresowany-zalacznik/ które polecam

    Pozdrawiam.

    Czy ta odpowiedź była pomocna?

    Komentarze: 0 Brak komentarzy