Domino 9 und frühere Versionen > ND6: Entwicklung
ausgewählte docs ins excel exportieren????
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