Beiträge von Norbert

    Grüß Euch!


    Ich möchte Anhänge von Mails, die mit "Kopieren" in die Zwischenablage gelegt wurden in meinem VB6-Programm mit einem button-Klick "Aus Zwischenablage einfügen".


    Via Drag&Drop habe ich das bereits - mit Hilfe aus diesem Forum - schon hinbekommen. Sogar ganze Nachrichten samt Anhängen kann ich via Drag&Drop mit unserer VB6-Anwendung in unsere Datenbank transportieren.


    Anscheinend hat jedoch die Zwischenablage ein anderes Format, als wenn ich im Explorer sage "Kopieren" (damit funktioniert das Einfügen)


    Im Code geht leider folgende Abfrage bei Anhängen von Tobit in der Zwischenablage NICHT auf:


    If IsClipboardFormatAvailable(CF_HDROP) = 0 Then


    endif


    Vielleicht könnte mir da wer aus der Patsche helfen. Sollte es nur via VB.Net gehen, wäre das auch kein Problem.


    Gruß Norbert

    Hallo Jörg und Daniel!


    Wie ich Euren Meldungen entnehme, seid Ihr die richtigen für mein Problem: Auch ich möchte David-Nachrichten samt Anhängen via Drag&Drop in unsere eigene Anwendung importieren.


    Grundsätzlich funktioniert der Import schon, aber halt über davapi in einem eigenen Programm. In welcher Sprache habt Ihr das gelöst? Unsere Anwendung ist in VB6. Da habe ich mich aber soweit schlau gemacht, dass das wohl eher nicht geht. Vb.Net (VS2010) wäre auch eine Möglichkeit.


    Wäre super, wenn Ihr da Tipps und vielleicht sogar Codebeispiele (lechtz!!!!) hättet.


    Gruß Norbert

    Hallo Jens,


    hier einmal eine grundsätzliche Frage:


    Ist das DVAPI, mit dem ich (meist mit Deiner Hilfe) schon auf die David-Daten zugreifen kann, auch geeignet, auf die Tobit-Faxware-Objekte zuzugreifen?


    Wenn nein, wie kann ich sonst auf die Faxware-Objekte zugreifen?


    Gruß Norbert

    Hallo Jens,


    danke für die rasche Antwort.


    Das mit dem Feld "Content" haut voll hin.


    Zur Zeit habe ich alles beisammen, um aus dem MessageItem2 alle nötigen Daten der Mail (Absender, Betreff, Dateinamen, Anhänge) herauszuholen.


    Allerdings möchte ich auch - falls Bedarf - doch aus dem MessageItem2 ein MailItem erstellen.


    Ich habe vergessen zu sagen, dass ich noch in VB6 werke.


    Hier mein Versuch:


    Das funtioniert noch:


    Set oMessageItem = oArchive.GetArchiveEntryByID(oItem.Fields("RecNo").Value)





    Zusatzfrage: Ist mit ID eh die Recno gemeint. oder der Pfad der Datei mit \\server\....\Dateinmae.001


    Wenn ja, wie ist da der Feldname oder die Eigenschaft?


    Aber wie daraus das mailItem holen?
    set oMail = ?? oMessageItem ???



    Wäre toll, wenn Du mir da nochmals helfen könntest.


    Gruß Norbert

    Mit dem David-Api hole ich mail-items aus David in unsere Anwendung.


    Zuerst lese ich alle Items (Messageitem2) aus dem Archiv und lese sie durch.


    Damit ich bequem auf die Mail-Daten zugreifen kann, möchte ich das aktuelle Item (Messageitem2)


    in ein Mailitem umwandeln.


    Kann mir wer sagen, das zu machen ist?



    Oder hat das Messageitem2 eine Eigenschaft, aus der ich den Text holen kann? Und zwar jenen Text, der im Mail-Item mit Mailitem.Bodytext.Plaintext angesprochen werden kann. Das würde auch reichen.



    Norbert

    Danke für die Antwort.


    Für mail-Items funktioniert das copyout.


    Bei Fax-Items leider nicht. Attatchment.count gibt 0 zurück.


    Hast Du wirklich gemeint, dass für ein Fax-item das Fax selbst als Attatchment herauszukopieren wäre?


    Bezüglich Umstieg auf .net: Dein Rat ist gut gemeint. Aber wir haben da einige sehr umfangreiche VB6-Applikatkionen draußen. Einige Programm-Modul habe ich auch schon auf .net umgestellt. Habe sogar in vb.net controls gebastelt, um sie in VB6 zu verwenden. Sollte das mit dem Export von Faxen funktionieren, könnte ich mir vorstellen, das Exportmodul umzustellen.


    Grüße


    Norbert

    Hallo Jens!


    Für 3 Eintragsarten verwende ich die Properties 25,26 u. 27. Ich habe bemerkt, das folgender Text z.B.:


    <norbert.@biermayr@tele2.at> oder so ähnlich mit meinem Text "SHImportiert" überschrieben wurde und der in David-Client beim Öffnen der Nachricht auch angezeigt wurde.


    Zuerst kann ich sicher auch auf 4-stellige Property-Nummern umstellen. Dachte, dass es da sicher eine Grenze und 4-stellige Properties nicht erlaubt sind.


    Allerdings habe ich das Problem, dass das nur bei Einträgen in bestimmten Ordnern funktioniert. Also bei einem anderen user hat das nicht funktioniert. Es fehlen da die Rechte. Habe versucht, die Mail des anderen Useres im David-Client durchzuführen. Da gabs explizit die Meldung "Keine Berechtigung".


    So sieht die Sequenz fürs Logon aus:


    Set oApp = CreateObject("DVOBJAPILib.DvISEApi")


    Set oAcc = oApp.Logon



    Kann ich da irgendwie als "Admin" mich einloggen?


    Viele Grüße und schon mal danke!


    Norbert

    Grüß Euch,


    per Programm (VB6) und dem dvapi32.DLL importiere ich vom David die Mail- und Faxeinträge in unsere Datenbank. Dabei verwende ich mit get und Set-Property Funktionen, um festzustellen, ob der Eintrag schon importiert wurde oder nicht.


    Mit oItem.GetProperty(25,8 ) frage ich ab,


    oItem.setProperty(25,8 ) schreibe ich auf den Eintrag zurück.


    Soweit sogut. Allerdings bin ich darauf gekommen, dass ich damit den Absendereintrag von David überschreibe.


    Also welche Feldnummern kann ich "gefahrlos" verwenden, um meine Einträge zu schreiben und zu lesen.


    Welche Feldnummern werden von David selbst verwendet?


    Grüße


    Norbert

    Grüß Euch,


    ich möchte per Programm automatisch Fax-Einträge in PDF-Dateien (oder ein Bild-Format) exportieren. Diese PDFs dann in einem bestimmten Ordner ablegen.


    Mit dem dvapi32.DLL bin ich vertraut. Ich exportiere bereits Nachrichten (Ein- und Ausgänge von Fax oder Mails) in unsere Datenbank. Jedoch nur Absender bzw. Empfänger, Betreff, Text, Sendedatum usw. Wie ich ein Fax als soches exportieren kann, um es dann mit einem PDF-Viewer ansehen zu können, habe ich noch nicht herausgefunden. Ich verwende VB6, SP5.


    Wäre schön, wenn mir da wer helfen könnte.


    Grüße


    Norbert

    Hallo Jens,


    danke für die rasche Antwort. Der Feldname "SymNumber" hat mir gefehlt. Jetzt bin ich schon ganz nah an meiner Wunschlösung. Der Filter über das Datumsfeld haut auch schon hin.


    Was ich jetzt noch bräuchte:


    Gibts ein Feld, das ich "gefahrlos" als Statusfeld für mich verwenden kann. Also eben ein Kennzeichen, das ich setzen kann, um den Eintrag als "importiert" zu markieren. Sollte ein Feld sein, das der User normalerweise nicht ändern kann und keine wichtige Funktion im David hat. Die SymNumber möchte ich da nicht verwenden, die soll Original erhalten bleiben. Wenn das dann noch ein Feld wäre, das ich auch filtern kann, wäre es perfekt.


    Vielleicht kannst Du - oder wer anderer - mir da auch noch helfen.


    Noch mal Danke und


    Gruß Norbert

    Grüß Euch!


    Bei einem Kunden von uns werden Mail- und Fax-Daten in unsere Datenbank importiert. Funktioniert soweit wie gewünscht. Beim Kunden wird David.FX verwendet. Version: dvwin32 11.00a 3438, dvapi32: 11.00.a 0311


    Einige Verbesserung könnte der Import allerdings nun doch vertragen.


    1. Wie kann ich die Einträge filtern?


    Zur Zeit werden immer ALLE Einträge gelesen und über die Abfrage auf das Statusdatum überlesen. Ich habe im DVApi Handbuch einiges über Filter gelesen, wurde aber nicht schlau daraus. Ideal wäre ein Filter, mit dem ich nur Einträge ab einem bestimmten Datum erhalte.




    2. Wie kann ich auf den "Flag"-Eintrag (1. Spalte in der Ansichtstabelle, die mit der Fahne) abfragen? Wie heißt das Feld?


    Ideal wäre für mich, wenn ich aufgrund dieses Flags filtern könnte. Das Erstellen des MessItem2 aus den Einträgen via GetArchiveEntryByID und das Ändern von Daten bekomme ich schon hin. Aber wie gesagt, ich weiß nicht, wie ich den Flag-Wert abfragen und ändern kann.


    Zur Erläugerung nun ein Code-Ausschnitt, wie ich zur Zeit die Mail- und Faxeinträge abarbeite.


    Es würde mich freuen, hier Lösungsansätze und Anregungen für meine Probleme zu finden.


    Bin schon gespannt!


    Norbert



    Set oArchive_AllUser = oAcc.GetSpecialArchive(DvArchiveUserRoot)
    For l = 1 To oArchive_AllUser.Archives.Count
    'Schleife je User
    Set oArchive_User = oArchive_AllUser.Archives.Item(l - 1)
    For lArchZählerJeUser = 1 To oArchive_User.Archives.Count
    '
    'Schleife je Ordner eines Users
    '
    Set oArchive = oArchive_User.Archives.Item(lArchZählerJeUser - 1)


    If UCase(Right(oArchive.ID, 2)) = "IN" Or UCase(Right(oArchive.ID, 3)) = "OUT" Or UCase(Right(oArchive.ID, 6)) = "COMMON" Then


    If UCase(Right(oArchive.ID, 2)) = "IN" Then
    sEinAus = "E"
    End If
    If UCase(Right(oArchive.ID, 6)) = "COMMON" Then
    sEinAus = "E" 'können nur Eingänge sein
    End If
    If UCase(Right(oArchive.ID, 3)) = "OUT" Then
    sEinAus = "A"
    End If
    Set oMails = oArchive.MailItems
    If oMails.Count > 0 Then


    For i = 0 To oMails.Count - 1


    DoEvents
    '
    If bAbgebrochen Then
    GoTo Raus
    End If
    '


    Set oMail = oMails.Item(i)


    vFehlerNr = oMail.Fields("ErrorNo").Value



    dSendeEmpfangsDatum = oMail.StatusTime


    '
    If Val(vFehlerNr) = 0 Or sEinAus = "A" Then
    '
    If DateValue(dSendeEmpfangsDatum) >= DateValue(gVonDat.Text) And DateValue(dSendeEmpfangsDatum) <= DateValue(gBisDat.Text) Then