collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 61
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 1
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 13991
  • stats Beiträge insgesamt: 66697
  • stats Themen insgesamt: 8991
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: WhatsApp Chat in Access einlesen mit VBA  (Gelesen 474 mal)

Offline Frank77

  • Access-Profi
  • **
  • Beiträge: 188
    • Die Zauberbaecker
WhatsApp Chat in Access einlesen mit VBA
« am: Mai 12, 2018, 14:59:58 »
Hallo!
Ich habe einen Chat als Textdatei per mail gesendet und dann einfach den gesamten Text kopiert und in Word eingefügt dann ist alles sauber formatiert.

Das einlesen Klappt auch und die Fehler Behandlung Case 5 war nur als stütze für mich bei 800 Seiten Dokument

Es ist so das man ja in einen Chat einen Absatz einfügen kann und den muss ich erst prüfen das heißt
Wenn 'Datum Uhrzeit nicht vorhanden ist nächsten Absatz mit vorherigen zusammensetzen und das kann ja beim nächsten auch der Fall sein oder bei den nächsten 5 Absätzen.

Wäre super wenn mir jemand helfen würde Gruß frank


Public Function Word_WApp_Einlesen() As Boolean
    Dim objDoc As Word.Document
    Dim objAbsatz As Word.Paragraph
    Dim strDocPfad As String
    Dim strSQL As String
    Dim varDate As Variant
    Dim strName As String
    Dim strText As String
    Dim strBody As String
    On Error GoTo Err_ErrHandler
    strDocPfad = fncDateiauswahl
    If strDocPfad <> "" Then
        Set objDoc = OpenWord_Document(True, strDocPfad)
        objDoc.Application.Activate
        For Each objAbsatz In objDoc.Paragraphs
            If InStr(objAbsatz.Range.Text, "Ende-zu-Ende-Verschlüsselung geschützt") = 0 Then
                strText = objAbsatz.Range.Text    '12.05.18, 20:09 - Benutzer: Ich schreibe gerade.
                'Datum Uhrzeit
                varDate = SQL_ISODatum_Clock(Replace(Left$(strText, 15), ",", " "))
                'Benutzer
                strName = Mid$(strText, InStr(1, strText, "-") + 1)
                strName = Left$(strName, InStr(1, strName, ":") - 1)
                'Text
                strBody = Mid$(strText, InStr(1, strText, strName) + (Len(strName) + 2))
                'Else
                'End If
                strSQL = "INSERT INTO tbl_WhatsApp_Komunikation (WApp_Datum, WApp_Sender, WApp_Text)" & _
                       " VALUES (" & varDate & ", '" & strName & "', '" & Replace(strBody, "'", "''") & "')"
                CurrentDb.Execute (strSQL), dbFailOnError
                objAbsatz.Range.Select
            End If
        Next objAbsatz
    End If
    MsgBox "Dokument wurde eingelesen !", vbSystemModal + vbInformation Or vbOKOnly, "eingelesen !"
Exit_ErrHandler:
    If Not objDoc Is Nothing Then Set objDoc = Nothing
    Call ResetWord
    Exit Function
Err_ErrHandler:
    Select Case Err.Number
    Case 3022     'Fängt Indiziertes feld ab / Doppelte eingabe
        Resume Next
    Case 5
        With objDoc.Application.Selection
            .MoveDown unit:=wdParagraph, Count:=1, Extend:=wdMove
            '.Previous(wdParagraph, 1).Select 'Absatz Selectieren
            .TypeBackspace
            .TypeText Text:=" "
        End With
        objDoc.Close wdSaveChanges
        MsgBox "es ist ein Absatzfehler im text, koregieren ! ", vbSystemModal + vbExclamation Or vbOKOnly, "Korrektur !"
        'Call Word_WApp_Einlesen
        Exit Function
    Case Else
        Call LogError(Err.Number, Err.Description, mod_formModule & "   Word_WApp_Einlesen()", , False)
        Resume Exit_ErrHandler
    End Select
End Function
Selbstständig = Selbst und Ständig
 

Offline Frank77

  • Access-Profi
  • **
  • Beiträge: 188
    • Die Zauberbaecker
Re: WhatsApp Chat in Access einlesen mit VBA
« Antwort #1 am: Mai 13, 2018, 00:26:14 »
Hallo!
Hier noch ein kleines update
Ich konnte eine Schleife einbauen und damit die Absätze zusammen setzen .
Es passiert dann leider ein Fehler, wenn die schleife die Absätze zusammenfast, den in der 
Next objAbsatz  müsste dann weiter laufen ab intEnd , aber ich denke oder vermute mal das einfach beim nächsten weiter gemacht wir
Wäre super wenn jemand den fehler sieht

Gruß Frank


For Each objAbsatz In objDoc.Paragraphs
            objAbsatz.Range.Select
            If InStr(objAbsatz.Range.Text, "Ende-zu-Ende-Verschlüsselung geschützt") = 0 Then
                intStart = objDoc.Range(0, objAbsatz.Range.End).Paragraphs.Count
                intEnd = objDoc.Range(0, objAbsatz.Range.End).Paragraphs.Count
                Do
                    'Debug.Print Replace(Left$(objDoc.Paragraphs(intEnd + 1).Range.Text, 15), ",", " ")

                    If Len(objDoc.Paragraphs(intEnd + 1).Range.Text) > 1 Then
                        If Not IsDate(Replace(Left$(objDoc.Paragraphs(intEnd + 1).Range.Text, 15), ",", " ")) Then
                            bolDate = False
                            intEnd = intEnd + 1
                        Else
                            bolDate = True
                        End If
                    Else
                        intEnd = intEnd + 1
                    End If
                Loop While bolDate = False
                Set objRange = objDoc.Range(objDoc.Paragraphs(intStart).Range.Start, _
                                            objDoc.Paragraphs(intEnd).Range.End)
                strText = objRange.Text    '12.05.18, 20:09 - Benutzer: Ich schreibe gerade.
                'Datum Uhrzeit
                varDate = SQL_ISODatum_Clock(Replace(Left$(strText, 15), ",", " "))
                'Benutzer
                strName = Mid$(strText, InStr(1, strText, "-") + 1)
                strName = Left$(strName, InStr(1, strName, ":") - 1)
                'Text
                strBody = Mid$(strText, InStr(1, strText, strName) + (Len(strName) + 2))
                strSQL = "INSERT INTO tbl_WhatsApp_Komunikation (WApp_Datum, WApp_Sender, WApp_Text)" & _
                       " VALUES (" & varDate & ", '" & strName & "', '" & Replace(strBody, "'", "''") & "')"
                Debug.Print strSQL
                CurrentDb.Execute (strSQL), dbFailOnError
                bolDate = False
            End If
            objDoc.Paragraphs(intEnd + 1).Range.Select
        Next objAbsatz
Selbstständig = Selbst und Ständig
 

Offline steffen0815

  • Access-Profi
  • **
  • Beiträge: 126
Re: WhatsApp Chat in Access einlesen mit VBA
« Antwort #2 am: Mai 13, 2018, 17:28:32 »
Hallo,
ich kenne WhatsApp nicht, aber der Chat ist doch vermutlich nur Plain-Text? Wenn ja wäre die Bearbeitung als Textdatei wohl die einfachere Variante.
Evtl kannst du mal eine Beispielquelldatei und -Zieldatei hochladen.
Gruß Steffen
 

Offline Frank77

  • Access-Profi
  • **
  • Beiträge: 188
    • Die Zauberbaecker
Re: WhatsApp Chat in Access einlesen mit VBA
« Antwort #3 am: Mai 14, 2018, 12:47:56 »
Hallo!

Hab ein Beispiel Hoch geladen, den Code habe ich umgearbeitet und Läuft jetzt sauber durch und speichert alles so ein wie es soll.
beim Testen müssen die verweise angepasst werden den ich habe es auf Access 2016 erarbeitet.
Falls es da noch Verbesserungen gibt wäre ich sehr dankbar.

Im Web habe ich lange gesucht und nur etwas gefunden das die Text Datei in Excel einliest aber nur absatzweise ohne Beachtung ob die Absätze zusammengehören.

For i = 1 To objDoc.Paragraphs.Count
            Set objAbsatz = objDoc.Range.Paragraphs(i)
            objAbsatz.Range.Select
            If InStr(objAbsatz.Range.Text, "Ende-zu-Ende-Verschlüsselung geschützt") = 0 Then
                intStart = i
                intEnd = objDoc.Range(0, objAbsatz.Range.End).Paragraphs.Count
                bolDate = False
                Do
                    If i = objDoc.Paragraphs.Count Then Exit Do
                    If Len(objDoc.Paragraphs(intEnd + 1).Range.Text) > 1 Then
                        If Not IsDate(Replace(Left$(objDoc.Paragraphs(intEnd + 1).Range.Text, 15), ",", "")) Then
                            intEnd = intEnd + 1
                        Else
                            bolDate = True
                        End If
                    Else
                        intEnd = intEnd + 1
                    End If
                Loop While bolDate = False
                Set objRange = objDoc.Range(objDoc.Paragraphs(intStart).Range.Start, _
                                            objDoc.Paragraphs(intEnd).Range.End)
                strText = objRange.Text    '12.05.18, 20:09 - Benutzer: Ich schreibe gerade.
                'Datum Uhrzeit
                varDate = SQL_ISODatum_Clock(Replace(Left$(strText, 15), ",", " "))
                'Benutzer
                strName = Mid$(strText, InStr(1, strText, "-") + 2)
                strName = Left$(strName, InStr(1, strName, ":") - 1)
                'Text
                strBody = Mid$(strText, InStr(1, strText, strName) + (Len(strName) + 2))
                strSQL = "INSERT INTO tbl_WhatsApp_Komunikation (WApp_Datum, WApp_Sender, WApp_Text, WApp_P_IDRef)" & _
                       " VALUES (" & varDate & ", '" & strName & "', '" & Replace(strBody, "'", "''") & "'," & lngID & ")"
                CurrentDb.Execute (strSQL), dbFailOnError
                bolDate = False
                If i < intEnd Then i = intEnd + 1
            End If
        Next i


Mit dem einlasen der Text Datei wusste ich nicht so Bescheid und hab den Text einfach in Word kopiert, da ich vorher schon mal in der Form brauchte.

Es ist mit WhatsApp ganz einfach

Chat Öffnen – oben auf die 3 Punkte Klicken und Mehr auswählen - Chat als Textdatei per mail verschicken (es Gibt natürlich wider Apps über Apps die das in Excel machen und und und … alles zu Kompliziert)

Den Text dann einfach in Word kopieren und diese dann in die Datenbank einlesen, wenn das mal mit der Textdatei dann raus hab kann man das ja alles direkt mit Outlook Zugriff auf die E-Mail Automatisieren.

Ein weiteres Problem das ich habe ist das es keinen Index gibt der das doppelte einlesen behebt da das mit dem Memofeld nicht geht, über ein Recordset kann ich das aber prüfen Datum-Benutzer suchen und Memo vergleichen und evtl. neu anlegen (wäre auch eine Lösung)

Ein weiteres Phänomen ist das wen ich den Bericht aufmache er den Monat Mai nicht ausgibt, die Daten aber in der Abfrage enthalten sind.
Reduziere ich die Abfrage nur auf Mai dann zeigt der Bericht die Daten an????   

Gruß Frank
Selbstständig = Selbst und Ständig
 

Offline steffen0815

  • Access-Profi
  • **
  • Beiträge: 126
Re: WhatsApp Chat in Access einlesen mit VBA
« Antwort #4 am: Mai 14, 2018, 13:34:52 »
Hallo,
wie bereits geschrieben.
Ich denke (weiterhin) die Bearbeitung der Textdatei ist wesentlich einfacher und sicherer.

Leider hast du nur eine Worddatei angehängt.

Btw:
In den Wordcode mich einzuarbeiten habe ich keinen Bock :-(

Gruß Steffen
Gruß Steffen
 

Offline Frank77

  • Access-Profi
  • **
  • Beiträge: 188
    • Die Zauberbaecker
Re: WhatsApp Chat in Access einlesen mit VBA
« Antwort #5 am: Mai 14, 2018, 14:23:27 »
Hallo!

Die Text datei kann ich so nicht rekostruiren da ich die Originaltexte in Word geändert hab und ein rückkopieren sieht dann nicht so aus wie in der Orginal Textdatei in der es aussieht ob alles am stück wäre. ich versuche es mal die tage umzuarbeiten den eine orginal text datei kann ich ja schlecht beifügen

Gruß Frank und Danke

Selbstständig = Selbst und Ständig
 

Offline Frank77

  • Access-Profi
  • **
  • Beiträge: 188
    • Die Zauberbaecker
Re: WhatsApp Chat in Access einlesen mit VBA
« Antwort #6 am: Mai 14, 2018, 16:56:12 »
Hallo!

hab eine Textdatei über einen Chat neu erstellt, die ist Orginal so aus der App wie sie per email Versendet wird

Gruß Frank
Selbstständig = Selbst und Ständig
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23360
Re: WhatsApp Chat in Access einlesen mit VBA
« Antwort #7 am: Mai 15, 2018, 08:45:52 »
Hallo,

die ist Original so aus der App wie sie per email versendet wird
bist Du sicher ?

Ich sehe da viel Unklares in der Datei.   Öffne sie mal mit Notepad++, nicht mit dem Windows-Editor oder füge den Text mit C&P in ein Word-Dok ein... Speziell der Text nahe dem Ende (7. Post vor dem Ende) kommt mir seltsam vor.

Es ist  auch nicht sicher, ob am Ende einer Zeile ein LF im Original steht oder nicht.

Offline steffen0815

  • Access-Profi
  • **
  • Beiträge: 126
Re: WhatsApp Chat in Access einlesen mit VBA
« Antwort #8 am: Mai 15, 2018, 10:49:24 »
Hallo,
so ganz verstehe ich deinen Code  noch nicht.
Aber hier wäre mein Ansatz für den Import aus der Textdatei: Sub tester()
    ImportAusText "c:\...\whatsapp.txt", 1
End Sub

Function IsStartzeile(Zeile As Variant)
    If Len(Zeile) < 18 Then Exit Function
    ' Kennung für Startzeile: 14.05.18, 16:02 -
    ' strenge Auslegung: Datum und Uhrzeit immer mit führenden 0-en
    IsStartzeile = (IsDate(Replace(Mid(Zeile, 1, 15), ",", "")) _
          And Mid(Zeile, 9, 2) = ", " And Mid(Zeile, 16, 2) = " -")
End Function

Sub SchreibeChat(msg As String, lngID)
Dim mDatum As Date, mAbsender As String, idAbsender As Long, Rest As String, strSQL As String
Dim id As Variant
If Left(msg, 2) = vbNewLine Then
    Rest = Mid(msg, 3)
Else
    Rest = msg
End If
mDatum = Replace(Mid(Rest, 1, 15), ",", "")
Rest = Mid(Rest, 19)
If InStr(Rest, ":") Then
    mAbsender = Mid(Rest, 1, InStr(Rest, ":") - 1)
    Rest = Mid(Rest, InStr(Rest, ":") + 2)
Else
    mAbsender = "keiner"
End If

strSQL = "INSERT INTO tbl_WhatsApp_Komunikation (WApp_Datum, WApp_Sender, WApp_Text, WApp_P_IDRef)" & _
    " VALUES (cdate('" & mDatum & "'), '" & mAbsender & "', '" & Replace(Rest, "'", "''") & "'," & lngID & ")"
CurrentDb.Execute (strSQL), dbFailOnError
End Sub

Sub ImportAusText(DatName As String, lngID)
Dim objStream As Variant, strData As String
Dim arr As Variant
Dim Zeile As String, msg As String, z As Long, mDatum As Date, mSender As String

Set objStream = CreateObject("ADODB.Stream")
objStream.Charset = "utf-8"
objStream.Open: objStream.LoadFromFile (DatName): strData = objStream.ReadText()
objStream.Close

' Zeilenwechsel vblf oder vbnewline
arr = Split(strData, vbLf)

For z = LBound(arr) To UBound(arr) - 1
    msg = msg & vbNewLine & Replace(arr(z), vbCr, "")
    If IsStartzeile(arr(z + 1)) Then
        ' das ist die letzte Zeile des aktuellen Chats
        SchreibeChat msg, lngID
        msg = ""
    End If
    If (z + 1) = UBound(arr) Then
        ' das ist die vorletzte Zeile der Datei
        If IsStartzeile(arr(z + 1)) Then
            SchreibeChat Replace(arr(z + 1), vbCr, ""), lngID
        Else
            SchreibeChat msg & vbNewLine & Replace(arr(z + 1), vbCr, ""), lngID
        End If
    End If
Next
End Sub




Gruß Steffen
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23360
Re: WhatsApp Chat in Access einlesen mit VBA
« Antwort #9 am: Mai 15, 2018, 11:40:04 »
Hallo,

mhhmm,  und mein Code ist verschwunden im letzten Post. Deshalb hier nochmal und unter der Voraussetzung, dass sich die Struktur des Textdatei nicht ändert.:


Public Function ImportWAM()
Dim Lu As Long, strInput As String, lngSize As Long, lngID As Long
Dim strTemp As String, i As Long, lngPos As Long, lngPos1 As Long, strDatum As String
Dim strAutor As String, strBody As String
Dim a, b, db As Database
Const Fn = "c:\Temp\Whatsapp.txt"
Const cMinFileLength = 20
   On Error GoTo ImportWAM_Error
lngID = 1    '  lngID passend ermitteln!!!
Lu = FreeFile
Set db = CurrentDb

lngSize = FileLen(Fn)
If lngSize < cMinFileLength Then Exit Function

Open Fn For Input As Lu
  strInput = Input(lngSize, Lu)
Close Lu


lngPos = 15

Do Until lngPos = 0
   
    lngPos = InStr(lngPos, strInput, " - ")
    lngPos1 = InStr(lngPos + 1, strInput, " - ")
   
    If lngPos1 - lngPos < 1 Then
        strTemp = Mid(strInput, lngPos - 15, lngPos)
    Else
        strTemp = Mid(strInput, lngPos - 15, lngPos1 - lngPos)
    End If

    If InStr(strTemp, ": ") Then
   
          b = Split(strTemp, ": ")
          a = Split(b(0), " - ")
          strDatum = a(0)   'strDatum = Format(Replace(a(0), ",", ""), "\#yyyy-mm-dd hh:nn\#")   ' wenn das Tabellenfeld vom Datentyp Datum/Uhrzeit ist. Dann auch die Hochkommata beim Insert-SQL-String um strDatum entfernen.
          strAutor = a(1)
          strBody = b(1)
    Else
          a = Split(strTemp, " - ")
          strAutor = ""
          strBody = a(1)
          strDatum = a(0)  'dito wie oben
    End If

    lngPos = lngPos1


    db.Execute "insert into tblWhatsApp (Datum,Autor,Body) Values ('" & strDatum & "','" & strAutor & "','" & strBody & "')", dbFailOnError

Loop


Exit_Function:


   Exit Function

ImportWAM_Error:

    MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure ImportWAM of Modul Modul1"
    Resume Exit_Function
End Function


Unter der Berücksichtigung Deiner vorhandenen Tabelle  (alle Felder Datentyp TEXT bis auf "WApp_P_IDRef"  mit DatenTyp Long) und woher "lngID" auch immer kommt:
.
.
db.Execute "INSERT INTO tbl_WhatsApp_Komunikation (WApp_Datum, WApp_Sender, WApp_Text, WApp_P_IDRef) Values ('" & strDatum & "','" & strAutor & "','" & strBody & "'," & lngID & ")", dbFailOnError
.
.


Offline Frank77

  • Access-Profi
  • **
  • Beiträge: 188
    • Die Zauberbaecker
Re: WhatsApp Chat in Access einlesen mit VBA
« Antwort #10 am: Mai 15, 2018, 23:43:05 »
Hallo !
Danke euch beiden Für eure Mühe mir da zu helfen das find ich riesig …. Danke

@DF6GL
Die Textdatei ist im Original so … ich über 2 WhatsApp Web an 2 PCs das Geschreibe als Chat erzeugt.
Die Textdatei wird dann über das Smartphone (WhatsApp Web geht das nicht) die Sicherung per Email geschickt, das passiert automatisch und sie dann im Original Hochgeladen.

In der zip wo die DB drin ist der Text (Alte Textdatei) einfach mit Copy/Paste reinkopiert, damit konnte ich besser arbeiten als mit der Text.

In einer text von 2012 sah das am anfang so aus          23. Juni, 10:10 - Benutzer:

und heute so formatiert                                                    05.12.17, 20:31 - Benutzer:

Was ist LF ?

"lngID" kommt von dem Kombinationsfeld oder aus dem Kontakt damit soll ja der Zusammenhang gespeichert werden und Datum mit Uhrzeit aufsteigend sortiert das ja dann richtig.
Außer der Zeit Stempel wäre identisch (1 min. ist für Schnellschreiber viel) dann über den Autowert.

@Stefen0815

Ich habe versucht das so etwas logisch aufzubauen als Hobbyist und bei Kommentieren fallen mir da noch Sachen auf und wenn ich eure Codes sehe da Lerne ich da riesig was dazu

'Alle Absätze durchlaufen, die Paragraph sind Nummeriert
'Paragraph i ist absatz Nr. 55 z.b.
    For i = 1 To objDoc.Paragraphs.Count

        'setze Paragraph i als Absatz Object
        Set objAbsatz = objDoc.Range.Paragraphs(i)
        'Absatz Selektieren das ist dann der graue Bereich der beim Importieren gesehen wird
        objAbsatz.Range.Select
        'wenn bei der ersten Nachricht im Text steht dann ignorieren
        If InStr(objAbsatz.Range.Text, "Ende-zu-Ende-Verschlüsselung geschützt") = 0 Then
            'Startabsatz Nr. ist i z.b. 55
            intStart = i
            'Endabsatz Nr. ist das Ende des markierten Absatzes
            'markierter objAbsatz Nr. wir über den Count ausgerechnet
            intEnd = objDoc.Range(0, objAbsatz.Range.End).Paragraphs.Count
            'Ist Datum im String False weil in schleife i als Do ausstieg
            bolDate = False
            Do
                'Falls der letzte Absatz erreicht ist aus der schleife aussteigen
                'Sonst gibt die nächste Zeile die Fehlermeldung, dass es
                'keinen weiteren Absatz gibt aus
                If i = objDoc.Paragraphs.Count Then Exit Do
                'wenn der nächste Absatz leer ist dann einen weiter springen
                'und intEnd = die aktuelle Absatz Nummer + erhöhen das die Do Schleife beim nächsten weitermacht
                If Len(objDoc.Paragraphs(intEnd + 1).Range.Text) > 1 Then
                    'Prüfen ob der nächste Absatz ein Datum vorn stehen hat
                    'wenn ja Do beenden oder erhöhen
                    If Not IsDate(Replace(Left$(objDoc.Paragraphs(intEnd + 1).Range.Text, 15), ",", "")) Then
                        intEnd = intEnd + 1
                    Else
                        'Ausstieg
                        bolDate = True
                    End If
                Else
                    intEnd = intEnd + 1
                End If
            Loop While bolDate = False
            'Ermittelte start und End Absatznummer als range setzen
            'Die den Text ausgibt z.b. 55 - 55 oder 55 - 60
            Set objRange = objDoc.Range(objDoc.Paragraphs(intStart).Range.Start, _
                                        objDoc.Paragraphs(intEnd).Range.End)
            strText = objRange.Text    '12.05.18, 20:09 - Benutzer: Ich schreibe gerade.
            'Datum Uhrzeit
            varDate = SQL_ISODatum_Clock(Replace(Left$(strText, 15), ",", " "))
            'Benutzer
            strName = Mid$(strText, InStr(1, strText, "-") + 2)
            strName = Left$(strName, InStr(1, strName, ":") - 1)
            'Text
            strBody = Mid$(strText, InStr(1, strText, strName) + (Len(strName) + 2))
            strSQL = "INSERT INTO tbl_WhatsApp_Komunikation (WApp_Datum, WApp_Sender, WApp_Text, WApp_P_IDRef)" & _
                   " VALUES (" & varDate & ", '" & strName & "', '" & Replace(strBody, "'", "''") & "'," & lngID & ")"
            CurrentDb.Execute (strSQL), dbFailOnError
            bolDate = False
            If i < intEnd Then i = intEnd + 1
        End If
    Next i

Gruß Frank
« Letzte Änderung: Mai 15, 2018, 23:47:27 von Frank77 »
Selbstständig = Selbst und Ständig
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23360
Re: WhatsApp Chat in Access einlesen mit VBA
« Antwort #11 am: Mai 16, 2018, 08:12:21 »
Hallo,

den ganzen Kladderadatsch mit dem Word-Dok brauchst Du doch nicht..

Kopiere den Text aus der EMail in eine TXT-Datei und lies die mit meinem Code ein. Fertig.  Ein bisschen Anpassung an Deine DB-Vorlage muss natürlich sein, speziell beim Namen der TXT-Datei.


Wenn sich das Format des Datums ändert , musst Du die "Textversion" verwenden (Datumsfeld muss Datentyp Text besitzen) oder Du korrigierst die Datumsangabe in einen gültigen Datums-Wert