vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2020
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Typen unverträglich 
Autor: bocaj
Datum: 11.05.20 10:17

Hi bis vor kurzem hat der Code noch funktioniert jetzt sagt er Typen unverträglich.
Kann mir irgendjemand helfen?
Es geht dabei ums Email verschicken samt Anlage aus excel heraus.
Sub ABC_verschicken()
Dim oOL As Object
Dim oOLMsg As Object
 
Dim oOLRecip As Object
Dim oOLAttach As Object
Dim iRow, Anzahl As Integer
Dim m_anzhl, iCounter As Integer
Dim Mails As Integer
Dim sFile, sRec As String, sSub As String
Dim sBody As String
Dim Warnung As Byte
Dim bln, S
   Dim OutApp As Outlook.Application
    Dim OutMail As Outlook.MailItem
    Dim strbody As String
 
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(olMailItem)
 
'Dim OutApp As Outlook.Application
 
 
Mails = 0
 
 
Application.ScreenUpdating = False
iRow = Cells(Rows.Count, 3).End(xlUp).Row
'Hier wird in der Reihe B geschaut ob eine Rechnungsnummer vorhanden ist
 
Set oOL = CreateObject("Outlook.Application")
'Schauen wie viele Mails es werden
For m_anzhl = 3 To iRow
If Worksheets("Daten").Cells(m_anzhl, 32) = "" Then GoTo EFD Else
                'Hier wird geschaut, ob es in Verstrichene Tage was steht ( 
                ' Rechnungsalter).
    'If Cells(iCounter, 22) = "" Then Warnung = MsgBox("Rechnung fehlt." & vbLf 
    ' & "OK für überspringen", vbOKCancel, "Arbeit steht an") Else GoTo XX
    If Worksheets("Daten").Cells(m_anzhl, 33) = "Ja" Then GoTo ABC Else GoTo EFD
    'Hier schauen wir ob "Ja" drinnen steht also ob wir senden wollen
 
ABC:
Anzahl = Anzahl + 1
EFD:
Next m_anzhl
autosend = MsgBox("Möchtest du die Nachrichten vor dem Senden ansehen?" & _
  vbNewLine & "Es sind " & Anzahl & " Nachrichten", vbYesNoCancel)
If autosend = vbCancel Then Exit Sub
 
'Mit der For Schleife werden nun die Reihen durchgegangen
For iCounter = 3 To iRow
If Worksheets("Daten").Cells(iCounter, 32) = "" Then GoTo XXXXXX Else
                'Hier wird geschaut, ob es in Verstrichene Tage was steht ( 
                ' Rechnungsalter).
    'If Cells(iCounter, 21) = "" Then Warnung = MsgBox("Rechnung fehlt." & vbLf 
    ' & "OK für überspringen", vbOKCancel, "Arbeit steht an") Else GoTo XX
    If Worksheets("Daten").Cells(iCounter, 33) = "Ja" Then GoTo XYZ Else GoTo _
      XXXXXX
    'Hier schauen wir ob "Ja" drinnen steht also ob wir senden wollen
 
XYZ:
    If Dir(Worksheets("Daten").Cells(iCounter, 22)) = "" Then Warnung = MsgBox( _
      "Rechnung fehlt." & vbLf & "OK für überspringen" & vbLf & Cells(iCounter, _
      3) & "    " & Cells(iCounter, 10), vbOKCancel, "Arbeit steht an") Else _
      GoTo XX
    'Hier Schauen wir ob der Pfad zur Rechnung existiert. Wenn nicht dann gibts 
    ' Meldung.
            If Warnung = vbOK Then GoTo XXXXXX Else Exit Sub
                    'Bei 'OK' wird ein "Daten"satz übersprungen. Abbrechen 
                    ' brichts am Aktuellen ort ab, was da getan wurde wurde 
                    ' gemacht. Es gibt kein Rückgängig.
 
 
XX:
sFile = Worksheets("Daten").Cells(iCounter, 22) 'Anlage
    sRec = Worksheets("Text").Cells(iCounter, 3)  'An
 
    sSub = Worksheets("Text").Cells(iCounter, 9)  'Betreff
    sBody = Worksheets("Text").Cells(iCounter, 10) 'Text
    Worksheets("Daten").Cells(iCounter, 33) = Date 'Als gemahnt eintragen
'Worksheets("Daten").Cells(iCounter, 2).Style = "Schlecht"
'Worksheets("Daten").Cells(iCounter, 3).Style = "Schlecht"
'Worksheets("Daten").Cells(iCounter, 4).Style = "Schlecht"
'Worksheets("Daten").Cells(iCounter, 1).Style = "Schlecht"
 
    'Set oOLMsg = oOL.CreateItem(0)
    Set OutMail = oOL.CreateItem(0)
    With OutMail
'.SendUsingAccount = .Session.Accounts(2)
        .To = sRec
        .CC = ""
        .BCC = ""
        .Subject = sSub
        .Body = sBody
        '.Attachments.Add sFile
        .SendUsingAccount = OutApp.Session.Accounts.Item(2)
        .Attachments.Add sFile
        If autosend = vbYes Then .Display
        If autosend = vbNo Then .Send
        Mails = Mails + 1
    End With
 
   ' Set OutMail = Nothing
    'Set OutApp = Nothing
'oOLRecip.Resolve
XXXXXX:
Next iCounter
'Set oOL = Nothing
Warnung = MsgBox("Es wurden " & Mails & " Nachrichten verschickt.", vbOKOnly)
End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Typen unverträglich184bocaj11.05.20 10:17
Re: Typen unverträglich91ModeratorDieter11.05.20 17:14

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2020 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel