Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: Emre_1996 am 07.07.14 - 08:31:11

Titel: LotusScript Verzeichnis überprüfen erstellen
Beitrag von: Emre_1996 am 07.07.14 - 08:31:11
Hallo Forum-Mitglieder ich möchte die Anhänge in den Dokumenten in Ordner extrahieren.

Code:
If Dir$("C:\Projekte (Emre)\Dokumente2014\" + strYear + "\" + o.source$ , 16) = "" Then
      MkDir"C:\Projekte (Emre)\Dokumente2014\" + strYear
   End If
      Call o.ExtractFile( "C:\Projekte (Emre)\Dokumente2014\" + strYear + "\" + o.source )

Bekomme die Fehlermeldung path Not found..

Vielen Dank im Voraus

Titel: Re: LotusScript Verzeichnis überprüfen erstellen
Beitrag von: Tode am 07.07.14 - 08:33:40
In welcher Zeile? Ich schätze in der "MKDir"- Zeile...
Titel: Re: LotusScript Verzeichnis überprüfen erstellen
Beitrag von: Emre_1996 am 07.07.14 - 08:38:54
ja in der MkDir Zeile
Titel: Re: LotusScript Verzeichnis überprüfen erstellen
Beitrag von: Emre_1996 am 07.07.14 - 08:39:43
nein der Debugger stoppt sogar früher in der If-Abfrage.

If Dir$("C:\Projekte (Emre)\Dokumente2014\" + strYear + "\" + o.source$ , 16) = "" Then
Titel: Re: LotusScript Verzeichnis überprüfen erstellen
Beitrag von: Tode am 07.07.14 - 09:09:39
Dann hast Du ja die Antwort auf Deine Frage...
Auszug aus der Hilfe zu "Dir":
Zitat
Return value

Dir returns a Variant of DataType 8 (String), and Dir$ returns a String.

If the directory path specified in the argument does not exist, this function throws error "Path not found" (ErrPathNotFound in lserr.lss).

If the directory path exists, but there are no files matching the filespec, it does not throw an error, but returns "" (empty string).
Titel: Re: LotusScript Verzeichnis überprüfen erstellen
Beitrag von: ascabg am 07.07.14 - 09:15:58
Hallo,

Das ist jetzt aber nicht Dein Ernst.

LotusScript Verzeichnis überprüfen erstellen (http://www.dominoforum.de/index.php/Thread/24573-LotusScript-Verzeichnis-%C3%BCberpr%C3%BCfen-erstellen/?postID=142724#post142724)


Andreas
Titel: Re: LotusScript Verzeichnis überprüfen erstellen
Beitrag von: Emre_1996 am 07.07.14 - 09:16:36
entschuldigung darf ich das nicht?
Titel: Re: LotusScript Verzeichnis überprüfen erstellen
Beitrag von: Tode am 07.07.14 - 09:17:36
Das ist Dein zweiter Post, und das zweite Mal, dasss man Dich drauf aufmerksam macht, dass man das nicht tut.... Du wirst bald nicht mehr viele haben, die Dir helfen...
Titel: Re: LotusScript Verzeichnis überprüfen erstellen
Beitrag von: ascabg am 07.07.14 - 09:18:00
Man lesen sich einmal dieses hier durch.

Forumsregeln (http://atnotes.de/projekte/bp/team/tmc/_forumsregeln/rules001.html#23)


Andreas
Titel: Re: LotusScript Verzeichnis überprüfen erstellen
Beitrag von: Emre_1996 am 07.07.14 - 09:19:15
Ich entschuldige mich mehrmals von euch allen.

Ich wusste nicht, dass es nicht erlaubt bzw. gestattet ist.

Bitte verzeiht mir, wird nicht mehr der Fall sein.

 :(
Titel: Re: LotusScript Verzeichnis überprüfen erstellen
Beitrag von: ascabg am 07.07.14 - 09:23:05
Davon das es nicht erlaubt ist, redet aber keiner.

Es ist nur so, dass, wenn Du schon in 2 Foren einen Post zu demselben Thema eroeffnest,
dann solltest Du auch darauf hinweisen und am Besten auch einen entsprechenden Link einbinden.

So, ohne irgendwelche Hinweise darauf, wirst Du Dir nicht viele "Freunde" machen.
(wie Tode ja auch schon schrieb)


Andreas
Titel: Re: LotusScript Verzeichnis überprüfen erstellen
Beitrag von: Emre_1996 am 07.07.14 - 09:24:47
okey ich entschuldige mich nocheinmal.
Titel: Re: LotusScript Verzeichnis überprüfen erstellen
Beitrag von: Emre_1996 am 07.07.14 - 09:27:00
Hallo Tode,
ich habe mein Fehler jetzt gefunden. Der Fehler lag an der Zeile mit dem
If(Dir$........

Nun hätte ich da noch ein nächstes Problem, jetzt überprüft der Agent das erste Dokument, erstellt ein Ordner und speichert alle Dokument in den gleichen Ordner, also auch wenn der Datumswert anderst ist.


Code:

If Dir$("C:\Projekte (Emre)\Dokumente2014\" + strYear , 16) = "" Then
MkDir"C:\Projekte (Emre)\Dokumente2014\" + strYear
   End If
   If Dir$("C:\Projekte (Emre)\Dokumente2014\" + strYear + "\" + strMonth , 16) = "" Then
MkDir"C:\Projekte (Emre)\Dokumente2014\" + strYear + "\" + strMonth
   End If
   Call o.ExtractFile( "C:\Projekte (Emre)\Dokumente2014\" + strYear + "\" + strMonth + "\" + "sAttachmentName" + ".pdf")

Ich hoffe, dass Ihr mir helfen könnt.
Titel: Re: LotusScript Verzeichnis überprüfen erstellen
Beitrag von: ascabg am 07.07.14 - 09:31:11
Was ist denn sAttachmentName?

Koenntest Du einmal den ganzen Code posten?

Und bitte verwende einmal die entsprechenden Tags, damit es etwas uebersichtlicher wird.
(Code in entsprechende Code-Tags setzen)


Andreas
Titel: Re: LotusScript Verzeichnis überprüfen erstellen
Beitrag von: Emre_1996 am 07.07.14 - 09:34:44
Sub ExportAttachment(o As Variant)

   Dim sAttachmentName As String
   Dim sNum As String
   Dim sTemp As String
   Dim strName As String
   Dim strBetrag As String

   Dim ses As New NotesSession
   Dim db As NotesDatabase
   Dim dc As NotesDocumentCollection
   Dim doc As NotesDocument
   Dim varDate As Variant
   Dim strYear As String
   Dim strMonth As String
   Dim strFolderName As String
   Set db = ses.CurrentDatabase
   Set dc = db.AllDocuments
   Set doc = dc.GetFirstDocument()
   While Not doc Is Nothing
      If IsDate (doc.Date (0)) Then
         varDate = CDat (doc.Date (0))
         strYear = Format (varDate, "yyyy")
         strMonth = Format (varDate, "mm")
      End If
      Set doc = dc.GetNextDocument( doc )
   Wend

   Print "Exporting " & sAttachmentName
   'Save the file
   If(varDate = "") Then
      MkDir"C:\Projekte (Emre)\Dokumente2014\Sonstiges"
   End If
   If Dir$("C:\Projekte (Emre)\Dokumente2014\" + strYear , 16) = "" Then
MkDir"C:\Projekte (Emre)\Dokumente2014\" + strYear
   End If
   If Dir$("C:\Projekte (Emre)\Dokumente2014\" + strYear + "\" + strMonth , 16) = "" Then
MkDir"C:\Projekte (Emre)\Dokumente2014\" + strYear + "\" + strMonth
   End If
   Call o.ExtractFile( "C:\Projekte (Emre)\Dokumente2014\" + strYear + "\" + strMonth + "\" + o.source)

End Sub
Titel: Re: LotusScript Verzeichnis überprüfen erstellen
Beitrag von: ascabg am 07.07.14 - 09:40:10
Und dann wunderst Du dich, dass alle Dokumente (Anhaenge) im selbern Verzeichnis landen, auch wenn
in dem Feld "Date" unterschiedliche Datumswerte enthalten sind?

In deinen Variablen strYear und strMonth sind doch blos die Werte aus dem letzten Dokument enthalten,
welches innerhalb deiner Schleife durchlaufen/bearbeitet wurde.

%EDIT
Und noch folgende Anmerkungen.
Was soll denn in der Zeile
Code
Print "Exporting " & sAttachmentName
ausgegeben werden. Die Variable sAttachmentName wird doch vorher nie belegt.
Und was passiert, wenn irgendwann einmal in einem Dokument mehr als 1 Anhang enthalten ist?


Andreas
Titel: Re: LotusScript Verzeichnis überprüfen erstellen
Beitrag von: DerAndre am 07.07.14 - 10:09:23
Hi.

Um mich Andreas anzuschliessen:

Der erste Satz an Variablen wird nicht benutzt.

Dann rappelst Du durch alle Dokumente Deiner Datenbank um dann aus dem letzten mit einem Datum die Teilmenge rauszufutteln.

An die Funktion wird ein NotesEmbeddedObject übergeben. Selbst wenn Du das obere nicht machst, woher willst Du wissen ob es sich um das dazugehörige Dokument handelt? Da muss auch schon ein bisschen mehr an Information in der Funktion landen.
Titel: Re: LotusScript Verzeichnis überprüfen erstellen
Beitrag von: Andrew Harder am 09.07.14 - 21:39:47
Ich verstehe nur Bahnhof...

Angenommen die Funktion wird so ähnlich aufgerufen:
Code
Forall o in rtitem.EmbeddedObjects
        Call ExportAttachment(o)
End Forall
Dann hat man das Dokument schon und könnte es der Funktion übergeben.

Warum für jedes Objekt - es können ja mehrere Anhänge sein - jedes mal noch über alle Dokumente der Datenbank drübernudeln?
Titel: Re: LotusScript Verzeichnis überprüfen erstellen
Beitrag von: koehlerbv am 09.07.14 - 22:22:05
Wenn der Fragesteller auch nur Bahnhof versteht, erklärt sich das Phänomen recht simpel (und traurig).

Bernhard
Titel: Re: LotusScript Verzeichnis überprüfen erstellen
Beitrag von: koehlerbv am 09.07.14 - 22:28:16
Nachtrag:
Emre alias "Max" (Dominoforum) sitzt offensichtlich seit Wochen an einem Transfer von Notes-Daten nach SharePoint.
Keine AhNung, warum man an diese Aufgabe einen Ahnungslosen gesetzt hat ...

Bernhard
Titel: Re: LotusScript Verzeichnis überprüfen erstellen
Beitrag von: Tode am 10.07.14 - 13:26:27
Alias "Max" ist falsch. Im DominoForum ist er jetzt auch als "Emre" unterwegs (Username: Emre Tanriver) und hat schon wieder ein neues Thema aufgemacht... Scheinbar ist das hier gelöst !?