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

question-closed Excel VBA Thunderbird wypisywanie wartości tablicy w treści maila

VPS Starter Arubacloud
+1 głos
537 wizyt
pytanie zadane 25 sierpnia 2021 w Visual Basic przez morking Nowicjusz (210 p.)
zamknięte 26 sierpnia 2021 przez morking

Witam, mam pytanie dotyczące tablic. Mam tablicę dane(), zawierającą x elementów (ich ilość oraz wartości są losowe). Czy jest możliwość wypisania wszystkich elementów tablicy w treść maila lub jakiś inny sposób by to zrobić? Próbowałem z for ale nie wychodziło mi to. Poniżej zamieszczam kod.
 

 
Sub Wyslij_maila(dane, x)

Dim thund As String
Dim email As String
Dim temat As String
Dim body As String

email = ";"
temat = "123"
body = "Dane: " & dane(x)
thund = "C:\Program Files (x86)\Mozilla Thunderbird\thunderbird.exe " & _
"-compose " & """" & _
"to='" & email & "'," & _
"subject='" & temat & "'," & _
"body='" & body & "'" & """"

Call Shell(thund, vbHide)
Application.Wait (Now + TimeValue("0:00:2"))
'SendKeys "^{ENTER}", True
Application.Wait (Now + TimeValue("0:00:2"))
'SendKeys "^{ENTER}", True

End Sub

 

komentarz zamknięcia: Znaleziona odpowiedź

1 odpowiedź

+1 głos
odpowiedź 26 sierpnia 2021 przez VBService Ekspert (255,440 p.)
wybrane 26 sierpnia 2021 przez morking
 
Najlepsza

Możesz użyć pętli For Each, ma taką zaletę, że "wie" wink jakiej długości jest tablica.

Propozycja modyfikacji Twojego kodu

Sub Wyslij_maila(dane)
 
Dim thund As String
Dim email As String
Dim temat As String
Dim body  As String
 
email = ";"
temat = "123"
body  = "Dane: "

For Each rekord In dane
   body = body & rekord & " "
Loop

thund = "C:\Program Files (x86)\Mozilla Thunderbird\thunderbird.exe " & _
"-compose " & """" & _
"to='" & email & "'," & _
"subject='" & temat & "'," & _
"body='" & body & "'" & """"
 
Call Shell(thund, vbHide)
Application.Wait (Now + TimeValue("0:00:2"))
'SendKeys "^{ENTER}", True
Application.Wait (Now + TimeValue("0:00:2"))
'SendKeys "^{ENTER}", True
 
End Sub

 

Możesz tez użyć funkcji Join i wtedy masz:

Sub Wyslij_maila(dane)
 
Dim thund As String
Dim email As String
Dim temat As String
Dim body  As String
 
email = ";"
temat = "123"
body  = "Dane: " & Join(dane, " ")

thund = "C:\Program Files (x86)\Mozilla Thunderbird\thunderbird.exe " & _
"-compose " & """" & _
"to='" & email & "'," & _
"subject='" & temat & "'," & _
"body='" & body & "'" & """"
 
Call Shell(thund, vbHide)
Application.Wait (Now + TimeValue("0:00:2"))
'SendKeys "^{ENTER}", True
Application.Wait (Now + TimeValue("0:00:2"))
'SendKeys "^{ENTER}", True
 
End Sub

 

 

P.S. Zamiast " ", można użyć zapisu Chr(32), zamiast """" - Chr(34) itd.

[ Chr(...) ]  [ Character set (0 - 127) ]

1
komentarz 26 sierpnia 2021 przez morking Nowicjusz (210 p.)
Dzięki za pomoc :D

Podobne pytania

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

92,843 zapytań

141,783 odpowiedzi

320,858 komentarzy

62,175 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.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...