Thema Datum  Von Nutzer Rating
Antwort
28.06.2022 16:17:23 f.zimmer
NotSolved
Blau Aus For Schleife Email verschicken, mit If Verzweigung
28.06.2022 17:46:41 volti
Solved

Ansicht des Beitrags:
Von:
volti
Datum:
28.06.2022 17:46:41
Views:
391
Rating: Antwort:
 Nein
Thema:
Aus For Schleife Email verschicken, mit If Verzweigung

Hallo f,

ich habe Dir mal Deinen Code fehlerfrei gemacht, da fehlte z.B. ein End If. Da hattest Du ein Else hingemacht.

Leider kann ich das Ganze in Ermangelung einer Beispieldatei nicht testen, also schau mal, ob es läuft.

Auch habe ich Deinen Code nicht vollständig optimiert, es ist ja Dein code. Hier noch ein paar Tipps.

Option Explicit einsetzen, das zwingt zur Variablendeklaration und vermeidet Fehler

OutlookApp nicht innerhalb einer Schleife immer wieder neu setzen...

Häufig verwendete Worksheet-Anweisungen z.B. durch Variable ersetzen, hier WSh...

Code einrücken, kann man besser lesen...

HTML-Text optimieren

Tags wie span und font haben auch ein Ende-Tag, welche für eine saubere Programmierung verwendet werden sollte.

vbCRLF sind bei HTML wirkungslos, bzw. nur zum Lesen des Codes. M.E. überflüssig.

Ggf. das ganze in einen body-Tag setzen, bei span gibt es für bestimmte Schriftgrößen manchmal Probleme.

Den font-Tag kannst Du Dir sparen, Du hast die Schriftgröße ja schon im span-Tag angegeben.

 

Code:
 
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
 
Option Explicit

Sub Versand()

  Dim Begrenzung As Integer
  Dim i As Long
  Dim r As Long

  Dim numStart As Integer

' For i = 3 To Begrenzung
' If Worksheets("Hilfsblatt").Cells(i + 36, 2) = Wahr Then
' Exit For

  Dim objOutlook As Object
  Dim WSh As Worksheet
  Dim Text As String
  Dim Betreff As String
  Dim Signature As String

  Dim Bauvorhaben As String     ' Name Bauvorhaben'
  Dim Straße As String          ' Straße Bauvorhaben'
  Dim Ort As String             ' Postleitzahl + Ort'
  Dim Gewerk As String           ' Gewerk''Eventuell hier auswahlbox einbauen'
  Dim Bestellnummer As String      ' BS-Nummer'
  Dim Projeknummer As Long        ' Projektnummer'

  Dim sAntwortLink As String

  sAntwortLink = "<a href='christine.oelinger@bavaria-massivhaus.de'>christine.oelinger@bavaria-massivhaus.de</a>"

  Signature = Environ("appdata") & "\Microsoft\Signatures\Haas-Fertigbau-BM01.htm ' °°°

  Signature = CreateObject("Scripting.FileSystemObject").GetFile(Signature).OpenAsTextStream(-2).ReadAll


' Müssen noch angepasst werden'

  Bauvorhaben = Worksheets("Tabelle1").Cells(372 ' geändert 37=36+i

  Set WSh = Worksheets("Hilfsblatt")

  Straße = WSh.Cells(237)
  Ort = WSh.Cells(337)
  Gewerk = WSh.Cells(437)

' Email
  Text = "<span style='font-size:16pt; font-family:Arial'><b>" & "Bv" & Bauvorhaben _
  & "" & Straße & "" & Ort & "</b><br>" _
  & "<b>Einforderung des Bauvertrages" & "</b><br><br></span>" _
  & "<span style='font-size:10pt; font-family:Arial'>" _
  & "Sehr geehrte Damen und Herren,<br><br>" _
  & "aktuell steht noch der unterschriebene Bauvertrag von Ihnen aus.<br><br>" _
  & "Bitte senden Sie uns für das oben genannte Bauvorhaben den unterschriebenen Bauvertrag innerhalb der nächsten 2 Wochen zu.<br>" _
  & "<br><br>" _
  & "Bitte senden Sie die Unterlagen an: " & sAntwortLink & "<br><br></span>"

  Betreff = "Einforderung Bauvertrag" & " " & "BV:" & " " & Bauvorhaben & " " & "in" & " " & Ort
  Begrenzung = WSh.Cells(22) + 1

  Set objOutlook = CreateObject("Outlook.Application")
' Anhänge
  For i = 1 To Begrenzung Step 1

      If WSh.Cells(2 + i, 1) <> "FALSCHThen

         With objOutlook.CreateItem(0)
             .To = Worksheets("Tabelle1").Cells(i + 322)
             .Subject = Betreff
             .htmlBody = Text & Signature
             .display
         End With

      End If
  Next i

  Set objOutlook = Nothing

End Sub
 
_________
viele Grüße
Karl-Heinz

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
28.06.2022 16:17:23 f.zimmer
NotSolved
Blau Aus For Schleife Email verschicken, mit If Verzweigung
28.06.2022 17:46:41 volti
Solved