Domino 9 und frühere Versionen > ND6: Entwicklung

ausgewählte docs ins excel exportieren????

<< < (2/3) > >>

Axel:
Hi,

so müsste das gehen. Die Anpassungen sind fett gedruckt. Ich hoffe ich habe nichts übersehen.

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 maxcols As Integer
   Dim WS As New Notesuiworkspace
   Dim UiView As notesuiview
   Dim cols As Integer
   Dim rows As Integer
   Dim getfield As Variant
   
   Set db = session.CurrentDatabase
   Set collection = db.UnprocessedDocuments
   Set UiView=WS.currentview
   Set dataview = uiview.view
   Dim xlApp As Variant
   Dim xlsheet As Variant
   
   Set xlApp = CreateObject("Excel.Application")
   xlApp.StatusBar = "Import vorbereiten..."
   xlApp.Visible = True
   xlApp.Workbooks.Add
   xlApp.ReferenceStyle = 2
   Set xlsheet = xlApp.Workbooks(1).Worksheets(1)
   xlsheet.Name = uiview.viewname
   xlApp.StatusBar = "Überschriften erstellen..."
   cols=1
   Forall X In dataview.Columns
      xlsheet.Cells(1,cols).Value =X.title
      cols=cols+1
   End Forall
   
   xlApp.StatusBar = "Überschriften erstellen...fertig!"
   xlApp.StatusBar = "Import vorbereiten..."
   xlApp.StatusBar = "Daten importieren..."
   Set datadoc = collcetion.getfirstdocument
   'cols=1
   rows=2
   maxcols= dataview.columncount
   While Not (datadoc Is Nothing)

      xlsheet.Cells(rows,1).Value = datadoc.NamedesFeldes1(0)
      xlsheet.Cells(rows,2).Value = datadoc.NamedesFeldes2(0)
      'Hier können weitere Felder exportiert werden
      'Feldnamen müssen angepasst werden

      Set datadoc = collection.getnextdocument(datadoc)
   Wend
   xlApp.StatusBar = "Import beendet! ... Formatieren starten"
   
   xlApp.Rows("1:1").Select
   xlApp.Selection.Font.Bold = True
   xlApp.Range(xlsheet.Cells(1,1), xlsheet.Cells(1,maxcols)).Select
   With xlApp.Selection.Interior
      .ColorIndex = 15
      .Pattern = 17 'xlGray16
      .PatternColorIndex =6
   End With
   xlApp.StatusBar = "Titel formatiert"
   xlApp.Rows("1:1").Select
   xlApp.Selection.Font.Bold = True
   xlApp.Range(xlsheet.Cells(1,1), xlsheet.Cells(rows,maxcols)).Select
   xlApp.Selection.Font.Name = "Arial"
   xlApp.Selection.Font.Size = 9
   xlApp.Selection.Columns.AutoFit
   With xlApp.Worksheets(1)
      .PageSetup.Orientation = 2
      .PageSetup.centerheader = "Report - Confidential"
      .Pagesetup.RightFooter = "Page &P" & Chr$(13) & "Date: &D"
      .Pagesetup.CenterFooter = ""
   End With
   xlApp.ReferenceStyle = 1
   xlApp.Range("A1").Select
   xlApp.StatusBar = "Fertig!"
End Sub

Bei dieser Art und Weise kann nicht über den Spaltenindex auf die Feldinhalte zugegriffen werden, sondern man muss über den Feldnamen den Inhalt auslesen. Die Feldnamen musst du an deine Gegebenheiten anpassen.


Axel

koehlerbv:
Warum kommt mir der verwendete Code nur so bekannt vor ?  ;D

Ich kann allerdings nur den dringenden Rat geben, keinen Code zu verwenden, den man nicht verstanden hat. Das ist unprofessionell und ein Spiel mit dem Feuer. Das Glück, dass jemand dann den Samariter spielt und einem die Arbeit abnimmt, ist ja nun doch aussergewöhnlich.

Bernhard

dh-paule:
vielleicht bin ich mal wieder zu blauäugig, aber was ist mit der LN6 Funktion "copy selected as table" Das kann der user doch auch nutzen...

aber vermutlich hab ich's mir grad nur zu einfach gemacht  ;)

MartinG:

--- Zitat ---"copy selected as table"   
--- Ende Zitat ---

Sehr schöne Funktion - wäre halt noch schön wenn man das per Script oder Formel in eine Aktion packen könnte, aber da hat sich bei IBM vermutlich keiner Gedanken gemacht.

Gruss
Martin

Viktor:
herzlichen dank an axel und an alle "samariter"  :-X

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln