Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: Emre_1996 am 15.05.14 - 14:02:28

Titel: Dokumente in SharePoint 2013 (ExtractFile)
Beitrag von: Emre_1996 am 15.05.14 - 14:02:28
Sub ExportAttachment(o As Variant)

Dim Name As String
Dim sNum As String
Dim sTemp As String

Name = sDir & "\" & o.Source
While Not (Dir$(Name, 0) = "")
    sNum = Right(StrLeftBack(Name, "."), 2)
    If IsNumeric(sNum) Then
        sTemp = StrLeftBack(Name, ".")
        sTemp = Left(sTemp, Len(sTemp) - 2)
        Name = sTemp & Format$(CInt(sNum) + 1, "##00") & _
        "." & StrRightBack(Name, ".")
    Else
        Name = StrLeftBack(Name, ".") & _
        "01." & StrRightBack(Name, ".")
    End If
Wend

'Save the file
Call o.ExtractFile( Name )

    End Sub


Hallo Leute,

ich hätte da eine Frage.
Ich habe eine Datenbank, in der ca. 5000 Dokumente gespeichert sind. Ein Dokument beinhaltet Informationen wie z.B. Name, Datum, Kommentar, Betrag und Body-Feld(Anhang ; meistens .pdf).
Nun möchte ich die Anhänge im Windows-Explorer übertragen. Es klappt auch super, die Anhänge werden übertragen.
Nun möchte ich, dass es bisschen ordentlicher aussieht und sortierter. Ich möchte ein Ordner erstellen z.B. 2014 und dann alle Dokumente die 2014 erstellt wurden (Datums-Feld "Date") in den Ordner. Alle die 2013 erstellt wurden dann in den 2013 Ordner.

Meine Frage wäre wie mache ich, dass mit den Ordnern.?
Vielen Dank im Voraus
Titel: Re: Dokumente in SharePoint 2013 (ExtractFile)
Beitrag von: Peter Klett am 15.05.14 - 14:17:45
Die Jahreszahl als String bekommst Du mit

jahr = Format (doc.Date (0), "yyyy")

Ein Verzeichnis legst Du mit MkDir an
Titel: Re: Dokumente in SharePoint 2013 (ExtractFile)
Beitrag von: Emre_1996 am 15.05.14 - 14:28:14
Hallo Peter,

vielen Dank für deine schnelle Antwort

   Dim ses As New NotesSession
   Dim db As NotesDatabase
   Dim dc As NotesDocumentCollection
   Dim doc As NotesDocument
   Dim Datum As Variant
   Dim Jahr As String
   Dim Monat As String
   Dim OrdnerName As String

   Set db = ses.CurrentDatabase
   Set dc = db.AllDocuments
   Set doc = dc.GetFirstDocument()
   While Not doc Is Nothing
      Datum = doc.GetItemValue( "Date" )(0)
      Jahr = CStr( Year( Datum ) )
      Monat = CStr( Month( Datum ) )
      OrdnerName = Jahr & "\" & Monat
      Call doc.PutInFolder( OrdnerName )
      Set doc = dc.GetNextDocument( doc )
   Wend
   
   Print "Exporting " & OrdnerName
   'Save the file
   Call o.ExtractFile( OrdnerName )

End Sub

Nun bekomme ich aber die Fehlermeldung:
Type misstach in Methode: DateConvert: String found. Date expected
Titel: Re: Dokumente in SharePoint 2013 (ExtractFile)
Beitrag von: Peter Klett am 15.05.14 - 14:38:43
Ach, das meintest Du mit Ordnern, ich dachte, Du wolltest die Dateien in Ordner (auf der Festplatte) ablegen. (EDIT: machst Du ja auch zusätzlich, habe ich überlesen)

Ich gehe mal davon aus, dass Dein Feld Date entgegen Deiner Aussage kein Datum, sondern einen Text enthält. Dann musst Du das entsprechend umwandeln.

If Isdate (doc.Date (0)) Then
   Datum = Cdat (doc.Date (0))
   Jahr = Format (Datum, "yyyy")
   Monat = Format (Datum, "mm")
End If

Ich beharre mal auf dem Format, denn ein Cstr (Month (Datum)) wird Dich nicht wirklich glücklich machen.

Cstr (Month (Datum)) -> "5", wenn Datum = heute
aber Format (Datum, "mm") -> "05"

Sonst bekommst Du solche Ordner

2013\1
2013\10
2013\11
2013\12
2013\2
...
Titel: Re: Dokumente in SharePoint 2013 (ExtractFile)
Beitrag von: Tode am 15.05.14 - 14:41:26
ACHTUNG: im DominoForum wird parallel unter anderem Namen gearbeitet (http://www.dominoforum.de/index.php/Thread/24535-Dokumente-in-SharePoint-2013-ExtractFile/?postID=142543#post142543)
Titel: Re: Dokumente in SharePoint 2013 (ExtractFile)
Beitrag von: Peter Klett am 15.05.14 - 14:46:08
Danke, dann kann ich mich ja wieder den Dingen widmen, für die ich bezahlt bekomme ... ;)