Domino 9 und frühere Versionen > Entwicklung

export to excel

<< < (2/3) > >>

HipSlu:
hab da was gefunden, vielleicht ists hilfreich:

http://www-10.lotus.com/ldd/sandbox.nsf/ByDateNJ/c59944cc3ebada0300256bc80055c05b?OpenDocument

luna:

--- Zitat ---Hier habe ich eine aktuellere version für dich. Ist auch noch flexibler ( Copy and Paste und läuft in jeder Datenbank ohne Anpassung )

http://www.atnotes.de/cgi-bin/yabb/YaBB.pl?board=Downloads;action=display;num=1014050197

eknori
--- Ende Zitat ---


ich sag nur: W O W

danke ulrich, nicht nur, dass es jetzt in jeder datenbank läuft, sondern es laesst auch noch den view aussuchen !!! ich bin sowas von begeistert !!!

vielen vielen dank, das ist sehr hilfreich fuer mich (ich hab leider user, die muessen halt alles im excel haben, wahrscheinlich wegen weiterschicken oder auch im grafiken zu erstellen).

vielen lieben dank, gruss,
daniela  ;D ;D ;D

danke auch Hip Slu, aber ich bleibe jetzt bei dem Tool von eknori, weil es läuft ja. und sowas von gut !

alexB:
Hallo,

ich habe das Skript ein bischen umgemodelt.
Es werden jetzt nur die in der Ansicht markierten Dokumente exportiert
und zwar in der Reigenfolge, wie sie in der Ansicht stehen.

Gruß, Alex


Sub Click(Source As Button)
   Dim Session As New NotesSession
   Dim db As NotesDatabase
   Dim collection As NotesDocumentCollection
   Dim sourceview As NotesView
   Dim sourcedoc As NotesDocument
   Dim dataview As NotesView
   Dim datadoc As NotesDocument
   Dim docSelected As NotesDocument
   Dim maxcols As Integer
   Dim ws As New Notesuiworkspace
   Dim uiview As notesuiview
   Dim cols As Integer
   Dim rows As Integer
   Dim getfield As Variant
   Dim xlApp As Variant
   Dim xlsheet As Variant
   
   Set db = session.CurrentDatabase
   Set collection = db.UnprocessedDocuments   
   
   Antwort% = Messagebox("Es werden " & collection.Count & " Dokumente exportiert. Fortfahren?", 33 , "Export")   
   If Antwort% = 2 Then    Exit Sub
   
   Set uiview=ws.currentview
   Set dataview = uiview.view
   
   'Excel für Import vorbereiten und Spaltenüberschriften setzen
   Set xlApp = CreateObject("Excel.Application")
   xlApp.StatusBar = "Import vorbereiten..."
   xlApp.Visible = True
   xlApp.Workbooks.Add
   xlApp.ReferenceStyle = 3
   Set xlsheet = xlApp.Workbooks(1).Worksheets(1)
   xlsheet.Name = uiview.viewname
   xlApp.StatusBar = "Die Überschriften werden erstellt..."
   cols=1
   Forall X In dataview.Columns
      xlsheet.Cells(1,cols).Value =X.title
      cols=cols+1
   End Forall
   
   xlApp.StatusBar = "Überschriften wurden erstellt...fertig!"
   xlApp.StatusBar = "Der Import wird vorbereitet..."
   xlApp.StatusBar = "Die Daten werden importiert..."
   Set datadoc = dataview.GetFirstDocument
   cols=1
   rows=2
   maxcols= dataview.columncount
   
   While Not (datadoc Is Nothing)      
      Set docSelected = collection.GetDocument(datadoc) 'Überprüfen, ob Dokument in der Ansicht markiert ist
      If Not docSelected Is Nothing Then 'Wenn Dokument  in der Ansicht markiert ist, dann exportieren
         For cols=0 To maxcols-1 'Alle Spalten durchlaufen
            getfield = Cstr(datadoc.ColumnValues( cols ))
            xlsheet.Cells(rows,cols+1).Value = getfield                      
         Next      
         rows=rows+1
      End If
      cols=0
      Set datadoc = dataview.GetNextDocument(datadoc)             
   Wend
   
   'Excelblatt formatieren
   xlApp.StatusBar = "Import beendet! ... Formatieren starten"
   xlApp.Rows("1:1").Select
   Stop
   xlApp.Selection.Font.Bold = True
   xlApp.Range(xlsheet.Cells(1,1), xlsheet.Cells(1,maxcols)).Select
   With xlApp.Selection.Interior
      .ColorIndex = 0' Spaltenkopf Farbe
      .Pattern = 17
      .PatternColorIndex =0
   End With
   xlApp.StatusBar = "Titel formatiert"
   xlApp.Rows("1:1").Select 'Zeile 1 bis 1 ist
   xlApp.Range(xlsheet.Cells(1,1), xlsheet.Cells(rows,maxcols)).Select
   xlApp.Selection.Font.Name = "Arial" 'Schrift Art
   xlApp.Selection.Font.Size = 10'Schriftgröße der Excel Tab
   xlApp.Selection.Columns.AutoFit
   With xlApp.Worksheets(1)
      .PageSetup.Orientation = 2
      .PageSetup.centerheader = "ATNOTES" ' Tabellen Überschrift
      .Pagesetup.RightFooter = "Seite: &S" & Chr$(13) & "Date: &D"
' Arbeiten Sie mit einer Englischen Excelversion müssen
'sie bei Seite: &P verwenden
      .Pagesetup.CenterFooter = ""
   End With
   xlApp.ReferenceStyle = 1
'Wo möchten Sie den Courser hinsetzen hier A1
   xlApp.Range("A1").Select
   
   xlApp.StatusBar = "Fertig!"
End Sub

ata:
... 2 kleine Anmerkungen seien erlaubt:

rows sollte als Long deklariert werden, da es in einer Excel-Tabelle bis zu 64.000 Zeilen geben kann. Demzufolge sollte es auch abgefangen werden - eventuell ein weiteres Sheet beginnen...

Option Explicit bringt zutage, daß die Variable "Antwort" nicht deklariert wurde...

Gruß Toni

Axel:
Eigentlich fehlt mir hier auch noch eine vernüftige Fehlerbehandlung.

On Error Goto....

Axel

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln