[SIZE=3][FONT=Calibri]Public Function BewerbungenDurchlaufViewHP()[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Const EMBED_ATTACHMENT As Long = 1454[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Const OrdnerKuerzel As String = "HP[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Const LNOrdnername As String = "Bewerbungen Homepage"[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Const LNBackupOrdner As String = "Bewerbungen beantwortet"[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Dim objNotes As Object[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Dim LNdb As Object[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Dim UserName As String 'Der Benutzername[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Dim MailDbName As String 'Der Datenbankname[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Dim LNCollection As Object[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Dim LNView As Object[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Dim LNDoc As Object[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Dim NxtDoc As Object[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Dim LNItem As Object[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Dim LNItemDatum As Object[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Dim LNItemAbsender As Object[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Dim LNItemVeranstaltungsnummer As Object[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Dim LNItemVeranstaltungsText As Object[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Dim strMailBody As String[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Dim dteEmpfangsdatum As Date[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Dim strName As String[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Dim strAdresse As String[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Dim strTelefonnummer As String[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Dim strAttachment As String[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Dim lngBewID As Long[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Dim strNewAttachmentName As String[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Dim strTmpFileUndPfad As String[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Dim strTmpPDFFilename As String[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Dim strMail As String 'Antworttextstring[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Dim strMessageText As String 'die ganze Message[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Dim strSQLCodeAendern As String[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Dim strProtokoll As String[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Dim strStatus As String[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Dim i As Integer[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Dim iAttach As Integer[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Dim strSubject As String[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Dim LNWorkspace As Object[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Dim LNAttachment As Variant[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Dim Workspace As Object[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Dim uidoc As Object[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Dim strNSF As String[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Dim rs As Recordset, rs1 As Recordset, rs2 As Recordset, rs3 As Recordset, rs4 As Recordset, rs5 As Recordset, rs6 As Recordset[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Dim vbody As Variant, z As Integer, Feldname As String, Zeile As String[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Dim Mailadresse As String[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Dim iFile As Integer[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] On Error GoTo ErrHandler[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] 'Holen einer aktiven Notessession[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Set objNotes = GetObject("", "Notes.NotesSession")[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] 'NSF des aktuellen Users suchen[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] strNSF = DLookup("NSF", "tblUser", "([ID] = " & TempVars!intUser & ")")[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] 'Debug.Print strNSF[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Set LNdb = objNotes.GETDATABASE("xxxx", strNSF)[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] If Not LNdb.IsOpen Then 'LNdb.OpenDatabase[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] MsgBox "Bitte öffnen Sie Ihren Lotes Notes Client, damit Mails eingelesen werden können!", vbOKOnly + vbExclamation, "Lotus Notes ist nicht geöffnet!"[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Exit Function[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] End If[/FONT][/SIZE]
[SIZE=3][FONT=Calibri]If Not (LNdb Is Nothing) Then[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] 'Zugriff des gewünschten Ordners[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Set LNView = LNdb.GetView(LNOrdnername)[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Set LNCollection = LNdb.Search("", Nothing, 0)[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] If Not (LNView Is Nothing) Then[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] 'Aktualsieren des Views[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Call LNView.Refresh[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] 'Jetzt wird die tblBewerbungen geöffnet um einmal alles in eine tbl zu schreiben[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Set rs = CurrentDb.OpenRecordset("tblBewerbungen", dbOpenDynaset, dbSeeChanges)[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] 'Jetzt wird die tblBewerbungsunterlagen geöffnet um einmal alles in eine tbl zu schreiben[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Set rs1 = CurrentDb.OpenRecordset("tblBewerbungsunterlagen", dbOpenDynaset, dbSeeChanges)[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] 'Einlesen des ersten Mail-Dokuments[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Set LNDoc = LNView.GetFirstDocument[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Do While Not LNDoc Is Nothing[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] i = i + 1[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Set NxtDoc = LNView.GetNextDocument(LNDoc)[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] 'Empfangsdatum[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Set LNItem = LNDoc.GetFirstItem("DeliveredDate")[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] dteEmpfangsdatum = Nz(LNItem.Text)[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Set LNItem = LNDoc.GetFirstItem("Body")[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] strMailBody = Nz(LNItem.Text)[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] 'nun werden die Daten in die Tabelle tblBewerbungen geschrieben[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] rs.AddNew[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] rs("DeliveredDate") = CDate(dteEmpfangsdatum)[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] rs("MailBody") = strMailBody[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] rs("RegID") = TempVars!RegID[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] rs("NameBewerber") = fncMemoPartName(strMailBody, OrdnerKuerzel)[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] rs("Mail") = fncMemoPartEmail(strMailBody, OrdnerKuerzel)[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] rs("Strasse") = fncMemoPartAdresse(strMailBody, OrdnerKuerzel)[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] rs("Telefon") = fncMemoPartTelefonnummer(strMailBody, OrdnerKuerzel)[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] rs("GebDatum") = CDate(fncMemoPartGebDatum(strMailBody, OrdnerKuerzel))[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] rs("wie_beworben") = 1 '1:Homepage, 2:andere, 3:Mail[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] rs.Update[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] rs.Bookmark = rs.LastModified[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] lngBewID = rs("BewID")[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] 'Prüfen ob Attachments innerhalb der Mail vorhanden sind[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] If LNDoc.hasembedded Then[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] For Each LNAttachment In LNItem.EmbeddedObjects[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] iAttach = iAttach + 1[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] 'aus dem Attachment-Namen alle Ziffern entfernen und umbenennen[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] strTmpFileUndPfad = CurrentProject.Path & "\B" & Format(lngBewID, "0000") & "_ " & BuchstabenExtrahieren2(LeerstellenExtrahieren(LNAttachment.Name))[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] 'macht aus 20148111805661VLebenslauf.docx --> D:\Access-Dateien\SECI\0123_VLebenslauf.docx[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] If LNAttachment.Type = EMBED_ATTACHMENT Then[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] 'zuerst einmal lokal in den Anwendungspfad extrahieren[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] LNAttachment.ExtractFile (strTmpFileUndPfad)[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] 'D:\Access-Dateien\SECI\20148111805661VLebenslauf.docx[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] DoEvents[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] 'bißchen warten[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] End If[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] 'dann verschieben[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Call MoveFile(FilenameOnly(strTmpFileUndPfad), CurrentProject.Path, TempVars!SpeicherpfadContracts & "Bewerbungsunterlagen")[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] 'verschiebt von D:\Access-Dateien\SECI\0123_VLebenslauf.pdf --> H:\SECI\Bewerbungsunterlagen\0123_VLebenslauf.pdf[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] 'nun den Speicherpfand der Attachments schreiben[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] rs1.AddNew[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] rs1("BewID") = lngBewID[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] rs1("Anlagepfad") = TempVars!SpeicherpfadContracts & "Bewerbungsunterlagen\" & FilenameOnly(strTmpFileUndPfad)[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] rs1("OriginalDocName") = LNAttachment.Name[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] rs1.Update[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Next LNAttachment[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] LNAttachment = ""[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] End If[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] 'Ausgelesen, nun kann Mail gelöscht werden[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Call LNDoc.RemoveFromFolder(LNOrdnername)[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] 'Verschieben in anderen Folder[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Call LNDoc.PutInFolder(LNBackupOrdner, False)[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] 'Ermitteln des nächsten Mail-Dokuments[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Set LNDoc = NxtDoc[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] 'jetzt noch ein automatisches Antwortmail senden[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] strMail = Trim(fncMemoPartEmail(strMailBody, OrdnerKuerzel))[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] 'Standardtext einlesen mit Signatur und versenden[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] iFile = FreeFile[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Open TempVars!SpeicherpfadContracts & "Vorlagen\AntwortBewerbung.txt" For Input As #iFile[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] strMessageText = Input(LOF(iFile), iFile)[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Close #iFile[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] If Len(strMail) > 4 Then[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Call sendLotusNotesMail("Ihre Bewerbung vom " & dteEmpfangsdatum, "", strMail, strMessageText, True)[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] End If[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Loop[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] End If[/FONT][/SIZE]
[SIZE=3][FONT=Calibri]'nun nochmals View öffnen, um alles als gelesen zu markieren[/FONT][/SIZE]
[SIZE=3][FONT=Calibri]Set LNView = LNdb.GetView(LNBackupOrdner)[/FONT][/SIZE]
[SIZE=3][FONT=Calibri]'nun alle Mails, die eingelesen wurden als gelesen markieren[/FONT][/SIZE]
[SIZE=3][FONT=Calibri]Call LNView.MarkAllRead[/FONT][/SIZE]
[SIZE=3][FONT=Calibri]'Set LNCollection = Nothing[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] If Err = 0 Then[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] MsgBox "Es wurden " & i & " Mails ausgelesen und insgesamt " & iAttach & " Attachments in den Ordner 'Bewerbungsunterlagen' abgespeichert.", vbOKOnly + vbInformation, "Ordner 'Bewerbungen Homapage' durchsucht"[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] End If[/FONT][/SIZE]
[SIZE=3][FONT=Calibri]End If[/FONT][/SIZE]
[SIZE=3][FONT=Calibri]Finally:[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] On Error Resume Next[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Set objNotes = Nothing[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Set LNdb = Nothing[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Set LNView = Nothing[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Set LNItem = Nothing[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Set LNWorkspace = Nothing[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Set LNDoc = Nothing[/FONT][/SIZE]
[SIZE=3][FONT=Calibri]ErrHandler:[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] 'MsgBox Err.Description, vbCritical[/FONT][/SIZE]
[SIZE=3][FONT=Calibri] Resume Finally[/FONT][/SIZE]
[SIZE=3][FONT=Calibri]End Function[/FONT][/SIZE]