Aktuelle Zeit: 06.12.2019 07:56

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: CoMatePlus Outlook E-Mails auslesen möglich ?
BeitragVerfasst: 22.07.2019 09:41 
Offline

Registriert: 19.07.2019 13:54
Hallo,

ich wollte mal so allgemein fragen ob es möglich ist E-Mails in CoMate auszulesen und diese dann z.b. in einer Liste anzuzeigen ?


so in etwa:

Code:
Private Sub CommandButton2_Click()

    Dim fMails As Object, mail As Object, txtContent As String, arrContent As Variant, objExcel As Object, wb As Object, sheet As Object, rngStart As Object, rngCurrent As Object, objOL As Object, fErledigt As Object

    ' Outlook Object erzeugen
    Set objOL = CreateObject("Outlook.Application")
   
    'Ordner in Outlook referenzieren
    Set fMails = objOL.Session.Stores.Item("e@mail").GetRootFolder.folders.Item("Posteingang")
    'Unterordner referenzieren in den die Mails verschoben werden wenn sie bearbeitet wurden
   
   
    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

        For Each mail In fMails.Items

            'Body extrahieren
            txtContent = mail.Body
            MsgBox mail.Subject
           
        Next
    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


freue mich auf jede Antwort.

MfG IceBite


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: CoMatePlus Outlook E-Mails auslesen möglich ?
BeitragVerfasst: 22.07.2019 10:07 
Offline
Admin
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Berlin
Ja, es ist möglich, aber ich habe mit PB-CoMate noch nie so richtig gearbeitet.
Geht es dir nur darum, die E-Mails aus einem IMAP- oder POP3-Konto auszulesen?
Alternativ könntest du auch folgende Bibliothek verwenden: viewtopic.php?f=11&t=31435
Ansonsten kannst du im Forum nach "comate outlook" suchen. Soweit ich weiß gibt es irgendwo einen fertigen Beispielcode.

_________________
BildBildBildBild BildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: CoMatePlus Outlook E-Mails auslesen möglich ?
BeitragVerfasst: 22.07.2019 15:05 
Offline

Registriert: 19.07.2019 13:54
RSBasic hat geschrieben:
Ja, es ist möglich, aber ich habe mit PB-CoMate noch nie so richtig gearbeitet.
Geht es dir nur darum, die E-Mails aus einem IMAP- oder POP3-Konto auszulesen?
Alternativ könntest du auch folgende Bibliothek verwenden: https://www.purebasic.fr/german/viewtop ... 11&t=31435
Ansonsten kannst du im Forum nach "comate outlook" suchen. Soweit ich weiß gibt es irgendwo einen fertigen Beispielcode.


Nein sondern ein anderes Programm läuft neben Outlook und ich kann emails aus einer liste auswählen unddiese sollen dann in das programm importiert werden


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: CoMatePlus Outlook E-Mails auslesen möglich ?
BeitragVerfasst: 22.07.2019 15:08 
Offline
Ein Admin
Benutzeravatar

Registriert: 29.08.2004 20:20
Wohnort: Saarbrücken
Mal eine vielleicht blöde Frage: Wie funktioniert das CoMatePlus genau? Ich meine es wäre doch ein riesige Sicherheitslücke, wenn ein fremdes Programm einfach so Mails abgreifen könnte. Das muss doch bestimmt erst in Outlook registriert werden oder sowas.

_________________
Neustes Video: Neje DK - 1 Watt Laser Engraver
Ubuntu Gnome 19.04 LTS x64, PureBasic 5.71 x64 (außerdem 4.41, 4.50, 4.61, 5.00, 5.10, 5.11, 5.21, 5.22, 5.30, 5.31, 5.40, 5.50, 5.60)
"Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen – Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: CoMatePlus Outlook E-Mails auslesen möglich ?
BeitragVerfasst: 22.07.2019 19:12 
Offline
Benutzeravatar

Registriert: 24.11.2004 13:12
Wohnort: Germany
COMate verwendet die vorhandenen Schnittstellen von den registrierten DLL´s mit späte Bindung.
Also das Interface IDispatch und somit wie es mit VB-Script oder VBA funktioniert.
Der Benutzer es Programm muss natürlich die Berechtigung auf dem PC haben.

Du kannst auch mit frühe Bindung arbeiten. Dazu hat Purebasic auch schon einige viele Interfaces bereits deklariert.

Wenn du ein funktionierendes Beispiel in VBS oder Java hast, kannst du auch ActiveScript verwenden...
Link: Module ActiveScript

P.S.
Habe das gefunden... Aber kein Outlook installiert
Zitat:
Function unread_mails()
'Funktion zum überprüfen auf neue Mails im Ordner "Posteingang"
'In Variable "u" wird die Anzahl der ungelesenen Nachrichten übergeben

Dim unread_items, mapi, inbox, mail

Set outObj = CreateObject("Outlook.Application")

u = 0 'Zähler ungelesene Nachrichten zurücksetzen

Set mapi = outObj.GetNamespace("MAPI")
Set inbox = mapi.GetDefaultFolder(6) 'Zeiger auf Posteingang setzten - Posteingang = Folder(6)

For Each mail In inbox.Items 'überprüfen auf ungelesene Mails
If mail.unread Then unread_items = unread_items + 1
Next

'Ausgabe als Msgbox
MsgBox "Sie haben " & unread_items & " ungelesene Mails in Ihrem Posteingang", vbOKOnly, "Posteingang überprüft"

End Function

Link: https://hope-this-helps.de/serendipity/ ... n-289.html

_________________
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul / OPC-Helper DLL
PB v3.30 / v5.4x - OS Mac Mini OSX 10.xx / Window 10 Pro. (X64) /Window 7 Pro. (X64) / Window XP Pro. (X86) / Ubuntu 14.04
Downloads auf Webspace


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: CoMatePlus Outlook E-Mails auslesen möglich ?
BeitragVerfasst: 08.08.2019 12:55 
Offline
Benutzeravatar

Registriert: 25.01.2005 12:19
IceBite hat geschrieben:
ich wollte mal so allgemein fragen ob es möglich ist E-Mails in CoMate auszulesen und diese dann z.b. in einer Liste anzuzeigen ?

Ich habe das folgende Beispiel erfolgreich getestet unter Windows 10 x64 Version 1809 mit PB 5.70 x86 und x64 und Outlook 2016 32-Bit. Vor dem ersten Start ist unbedingt der Verzeichnispfad zu COMatePLUS.PBI anzupassen.
Code:
EnableExplicit

#olFolderInbox = 6

; ----- Maximale Anzahl an E-Mails, die aus Outlook ausgelesen werden sollen
#MaxCount = 50

XIncludeFile "Verzeichnispfad/zu/COMatePLUS.PBI" ; <== Anpassen!

Structure EMailEntry
  ReceiveDate.S
  Sender.S
  Subject.S
EndStructure

Define EMailsIncomplete.I

NewList EMail.EMailEntry()

Procedure GetEMailInfosFromInbox(List EMail.EMailEntry())
  Shared EMailsIncomplete.I

  Protected EMail.COMateObject
  Protected EMailCount.I
  Protected i.I
  Protected Inbox.COMateObject
  Protected Items.COMateObject
  Protected NameSpace.COMateObject
  Protected Outlook.COMateObject

  Outlook = COMate_CreateObject("Outlook.Application")
 
  If Outlook
    NameSpace = Outlook\GetObjectProperty("GetNamespace('MAPI')")
   
    If NameSpace
      Inbox = NameSpace\GetObjectProperty("GetDefaultFolder('" +
        #olFolderInbox + "')")
     
      If Inbox
        Items = Inbox\GetObjectProperty("Items")
       
        If Items
          EMailCount = Items\GetIntegerProperty("Count")
         
          If EMailCount > 0
            If EMailCount > #MaxCount
              EMailCount = #MaxCount
              EMailsIncomplete = #True
            EndIf

            For i = 1 To EMailCount
              EMail = Inbox\GetObjectProperty("Items(" + i + ")")
           
              If EMail
                AddElement(EMail())
                EMail()\ReceiveDate = FormatDate("%dd.%mm.%yyyy %hh:%ii",
                  EMail\GetDateProperty("ReceivedTime"))
                EMail()\Subject = EMail\GetStringProperty("Subject")
                EMail()\Sender = EMail\GetStringProperty("SenderName")
                EMail\Release()
              EndIf
            Next i
          EndIf
         
          Items\Release()
        EndIf
       
        Inbox\Release()
      EndIf
     
      NameSpace\Release()
    EndIf
   
    Outlook\Release()
  EndIf
EndProcedure

OpenWindow(0, 0, 0, 600, 218, "",
  #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ListIconGadget(0, 10, 10, WindowWidth(0) - 20, WindowHeight(0) -20,
  "Empfangsdatum", 100, #PB_ListIcon_GridLines)
AddGadgetColumn(0, 1, "Absender", 159)
AddGadgetColumn(0, 2, "Betreff", 300)

GetEMailInfosFromInbox(EMail())

If EMailsIncomplete
  SetWindowTitle(0, "Die aktuellsten " + #MaxCount +
    " E-Mails in Outlooks Posteingang")
Else
  SetWindowTitle(0, "E-Mails in Outlooks Posteingang: " + ListSize(EMail()))
EndIf

ForEach EMail()
  With EMail()
    AddGadgetItem(0, -1, \ReceiveDate + #LF$ + \Sender + #LF$ + \Subject)
  EndWith
Next

Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  
cron

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye