Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1876to1880
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Code umbauen

Code umbauen
28.03.2022 09:38:39
Marcus
Hallo zusammen,
habe gerade von nem Bekannten dann unteren Code bekommen, leider kann er mir nicht sagen von welcher Seite er ihn und daher kann ich den Ersteller nicht fragen:
Daher meine Fragen hier:
Der Code funktioniert, nur wie kann ich die Textaufteilung änder? Bei meinen Mails z.B. Auftrag:0815 daher müsste eine neue Spalte nach dem : kommen, wie gestallte ich das?

Sub ExtractMailInfo()
Dim fMails As Object, mail As Object, txtContent As String, arrLines As Variant, objExcel As Object, wb As Object, sheet As Object, rngStart As Object, rngCurrent As Object, objOL As Object, fErledigt As Object, txtStatus As String, txtTime As String, txtMessage As String, txtMachine As String, txtSN As String, txtIP As String, txtLocation As String, txtCountTotal As String, txtCountColor As String
' Outlook Object erzeugen
Set objOL = CreateObject("Outlook.Application")
'Ordner in Outlook referenzieren
Set fMails = objOL.Session.Stores.Item("mailadresse").GetRootFolder.Folders.Item("Test")
'Unterordner referenzieren in den die Mails verschoben werden wenn sie bearbeitet wurden
Set fErledigt = fMails.Folders("erledigt")
If fMails.Items.Count > 0 Then
'Workbook setzen
Set wb = ActiveWorkbook
'Daten kommen in erstes Worksheet
Set sheet = wb.Worksheets(1)
'Startzelle in Spalte A ermitteln
Set rngStart = sheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
Set rngCurrent = rngStart
While fMails.Items.Count > 0
'aktuelle Mail
Set mail = fMails.Items(1)
'Body extrahieren
txtContent = mail.Body
' Zeilen in ein Array schreiben
arrLines = Split(txtContent, vbNewLine, -1, vbTextCompare)
' Zeilen den Variablen zuweisen
txtStatus = arrLines(1)
txtMessage = arrLines(2)
txtTime = arrLines(3)
txtMachine = arrLines(4)
txtSN = arrLines(5)
txtLocation = arrLines(6)
txtIP = arrLines(7)
txtCountTotal = Trim(Split(arrLines(8), ":", 2, vbTextCompare)(1))
txtCountColor = Trim(Split(arrLines(9), ":", 2, vbTextCompare)(1))
'Setze Werte im Sheet
rngCurrent.Value = txtStatus
rngCurrent.Offset(0, 1).Value = txtMessage
rngCurrent.Offset(0, 2).Value = txtTime
rngCurrent.Offset(0, 3).Value = txtMachine
rngCurrent.Offset(0, 4).Value = txtSN
rngCurrent.Offset(0, 5).Value = txtLocation
rngCurrent.Offset(0, 6).Value = txtIP
rngCurrent.Offset(0, 7).Value = txtCountTotal
rngCurrent.Offset(0, 8).Value = txtCountColor
'Excel Zeile eins nach unten verschieben
Set rngCurrent = rngCurrent.Offset(1, 0)
' Mail in den 'Erledigt' Ordner verschieben
mail.Move fErledigt
Wend
'Workbook speichern
wb.Save
Else
MsgBox "Keine Mails zum Bearbeiten im Ordner", vbExclamation
End If
Set objOL = Nothing
Set wb = Nothing
Set sheet = Nothing
Set mail = Nothing
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code umbauen
28.03.2022 12:14:09
MCO
Hallo Markus!
Tausche

arrLines = Split(txtContent, vbNewLine, -1, vbTextCompare)
gegen

arrLines = Split(txtContent,":")
Gruß, MCO
AW: Code umbauen
28.03.2022 14:34:01
Marcus
@MCO
BEsten Dank funktioniert super - DANKESCHÖN
Gruß
Marcus

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige