Autor Thema: LotusScript Verzeichnis überprüfen erstellen  (Gelesen 9553 mal)

Offline Emre_1996

  • Frischling
  • *
  • Beiträge: 24
LotusScript Verzeichnis überprüfen erstellen
« 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


Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: LotusScript Verzeichnis überprüfen erstellen
« Antwort #1 am: 07.07.14 - 08:33:40 »
In welcher Zeile? Ich schätze in der "MKDir"- Zeile...
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Emre_1996

  • Frischling
  • *
  • Beiträge: 24
Re: LotusScript Verzeichnis überprüfen erstellen
« Antwort #2 am: 07.07.14 - 08:38:54 »
ja in der MkDir Zeile

Offline Emre_1996

  • Frischling
  • *
  • Beiträge: 24
Re: LotusScript Verzeichnis überprüfen erstellen
« Antwort #3 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

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: LotusScript Verzeichnis überprüfen erstellen
« Antwort #4 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).
« Letzte Änderung: 07.07.14 - 09:13:06 von Tode »
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: LotusScript Verzeichnis überprüfen erstellen
« Antwort #5 am: 07.07.14 - 09:15:58 »
Hallo,

Das ist jetzt aber nicht Dein Ernst.

LotusScript Verzeichnis überprüfen erstellen


Andreas

Offline Emre_1996

  • Frischling
  • *
  • Beiträge: 24
Re: LotusScript Verzeichnis überprüfen erstellen
« Antwort #6 am: 07.07.14 - 09:16:36 »
entschuldigung darf ich das nicht?

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: LotusScript Verzeichnis überprüfen erstellen
« Antwort #7 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...
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: LotusScript Verzeichnis überprüfen erstellen
« Antwort #8 am: 07.07.14 - 09:18:00 »
Man lesen sich einmal dieses hier durch.

Forumsregeln


Andreas

Offline Emre_1996

  • Frischling
  • *
  • Beiträge: 24
Re: LotusScript Verzeichnis überprüfen erstellen
« Antwort #9 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.

 :(

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: LotusScript Verzeichnis überprüfen erstellen
« Antwort #10 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

Offline Emre_1996

  • Frischling
  • *
  • Beiträge: 24
Re: LotusScript Verzeichnis überprüfen erstellen
« Antwort #11 am: 07.07.14 - 09:24:47 »
okey ich entschuldige mich nocheinmal.

Offline Emre_1996

  • Frischling
  • *
  • Beiträge: 24
Re: LotusScript Verzeichnis überprüfen erstellen
« Antwort #12 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.

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: LotusScript Verzeichnis überprüfen erstellen
« Antwort #13 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

Offline Emre_1996

  • Frischling
  • *
  • Beiträge: 24
Re: LotusScript Verzeichnis überprüfen erstellen
« Antwort #14 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

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: LotusScript Verzeichnis überprüfen erstellen
« Antwort #15 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
« Letzte Änderung: 07.07.14 - 09:43:46 von ascabg »

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: LotusScript Verzeichnis überprüfen erstellen
« Antwort #16 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.
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Offline Andrew Harder

  • Senior Mitglied
  • ****
  • Beiträge: 295
  • Geschlecht: Männlich
Re: LotusScript Verzeichnis überprüfen erstellen
« Antwort #17 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?
Andy

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: LotusScript Verzeichnis überprüfen erstellen
« Antwort #18 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

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: LotusScript Verzeichnis überprüfen erstellen
« Antwort #19 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

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz