• 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

+1 głos
82 wizyt
pytanie zadane 25 sierpnia w Visual Basic przez morking Nowicjusz (160 p.)
zamknięte 26 sierpnia 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 przez VBService VIP (136,750 p.)
wybrane 26 sierpnia 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 przez morking Nowicjusz (160 p.)
Dzięki za pomoc :D

Podobne pytania

+1 głos
2 odpowiedzi 39 wizyt
pytanie zadane 8 listopada w Visual Basic przez Quba Użytkownik (620 p.)
+1 głos
1 odpowiedź 74 wizyt
pytanie zadane 11 maja w Visual Basic przez Misiek Mądrala (5,220 p.)
+1 głos
1 odpowiedź 55 wizyt
pytanie zadane 6 lutego w Visual Basic przez Ania909 Nowicjusz (130 p.)
Porady nie od parady
Forum posiada swój własny serwer Discord, dzięki któremu będziesz mógł po prostu pogadać z innymi Pasjonatami lub zapytać o jakiś problem. Podstrona z chatem znajduje się w menu pod ikoną człowieka w dymku.IRC

85,698 zapytań

134,499 odpowiedzi

298,514 komentarzy

56,625 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...