Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Britta Ditges am 21.07.04 - 09:33:14
-
Hallo zusammen,
wenn ich diesen Typ exportiere, wird immer nur die erste Auswahl in Excel angezeigt. D.h. in der Ansicht sind noch alle ausgewählten Begriffe zusehen, aber in Excel nur der erste. Was mache ich falsch?
Lieben Gruß aus Köln, Britta
-
Wie exportierst Du denn ? Über "Datei" -> "Exportieren" oder hast Du ein Script ?
Klappt das auch nicht, wenn Du über "Datei" -> "Exportieren" gehst und als Dateityp "Lotus 1-2-3" wählst (Datei dann als xyz.wk3 speichern) ?
-
Eportiere über dieses Script:
Sub Initialize
Dim Session As New NotesSession ,db As NotesDatabase
Dim sourceview As NotesView,sourcedoc As NotesDocument
Dim dataview As NotesView, dc As NotesDocumentCollection
Dim datadoc As NotesDocument, maxcols As Integer
Dim WS As New Notesuiworkspace
Dim ViewString As String, Scope As String, GetField As Variant
Dim C As NotesViewColumn, FieldName As String, K As Integer,N As Integer
Dim xlApp As Variant, xlsheet As Variant, rows As Integer, cols As Integer
Dim nitem As NotesItem , entry As NotesViewEntry, vwNav As NotesViewNavigator
Dim ShowView() As Variant, i As Integer, VList As Variant, ColVals As Variant
Set db = session.CurrentDatabase 'link to current database
'fetch then display a list of views in the database
Vlist= db.views
K=Ubound(Vlist) 'get size of list
Redim Preserve ShowView(K)
N=-1
For i = 0 To K
If Len(Vlist(i).Name) >0 Then
FieldName=Trim(Vlist(i).Name)
If Mid(Fieldname,1,1) <>"(" Then 'do not show hidden views
N=N+1
ShowView(N) = FieldName
End If
End If
Next i
Redim Preserve ShowView(N)
'now sort the list - by default views are listing in the order that they were created
For i=0 To N
For K=i To N
If ShowView(i) > ShowView(k) Then
FieldName=ShowView(i)
ShowView(i) = ShowView(k)
ShowView(k)=FieldName
End If
Next k
Next i
viewstring= ws.Prompt(PROMPT_OKCANCELLIST,"Ansichten dieser Datenbank","Bitte eine Ansicht zum Export auswählen","",ShowView )
If Len(viewstring)=0 Then Exit Sub
'ViewString ="Aktuell"
Set dataview = db.getview(ViewString) 'get selected view
Set vwnav= dataview.createViewnav()
rows = 1
cols = 1
maxcols=dataview.ColumnCount 'how many columns?
Set xlApp = CreateObject("Excel.Application") 'start Excel with OLE Automation
xlApp.StatusBar = "Creating WorkSheet. Please be patient..."
xlApp.Visible = True
xlApp.Workbooks.Add
xlApp.ReferenceStyle = 2
Set xlsheet = xlApp.Workbooks(1).Worksheets(1) 'select first worksheet
'worksheet title
'xlsheet.Cells(rows,cols).Value ="View: " + ViewString + ", from Database: " + db.title +", Extract created on: " + Format(Now,"mm/dd/yyyy HH:MM")
xlsheet.Cells(rows,cols).Value ="Ansicht: " + ViewString + ", aus Datenbank: " + db.title +", exportiert am: " + Format(Now,"dd/mm/yyyy HH:MM")
xlApp.StatusBar = "Erzeuge Spaltenüberschriften. Bitte warten..."
rows=2 'column headings starts in row 2
For K=1 To maxcols
Set c=dataview.columns(K-1)
xlsheet.Cells(rows,cols).Value = c.title
cols = cols + 1
Next K
Set entry=vwnav.GetFirstDocument
rows=3 'data starts in third row
Do While Not (entry Is Nothing)
For cols=1 To maxcols
colvals=entry.ColumnValues(cols-1) 'subscript =0
scope=Typename(colvals)
Select Case scope
Case "STRING"
xlsheet.Cells(rows,cols).Value ="'" + colvals
Case Else
xlsheet.Cells(rows,cols).Value = colvals
End Select
Next cols
xlApp.StatusBar = "Importiere Daten aus Lotus Notus Client - Dokument " & rows-1 '& " von " & dc.count & " Dokumenten."
'xlApp.StatusBar = "Importiere Daten aus Lotus Notus Client - Dokument " & rows-1 & " von " & dc.count & " Dokumenten."
rows=rows+1
Set entry = vwnav.getnextdocument(entry)
Loop
xlApp.Rows("1:1").Select
xlApp.Selection.Font.Bold = True
xlApp.Selection.Font.Underline = True
xlApp.Range(xlsheet.Cells(2,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 = "Importing Data from Lotus Notes Application was Completed."
xlApp.StatusBar = "Das Importieren von Daten aus Lotus Notes ist beendet."
'xlapp.ActiveWorkbook.saveas "c:VX" + Trim(Format(Now,"yyy")) 'save with generated name
dataview.clear
Set xlapp=Nothing 'stop OLE
Set db=Nothing
End Sub
-
Uffa, hast Du dir schon mal das Script von TMC angesehen ?
Klick mich (http://www.atnotes.de/index.php?board=9;action=display;threadid=15203)
-
Vielen Dank! Super Tipp-jetzt funkt. es und alles noch so schön bunt!
Liebe Grüße, Britta
-
Super, setzt Du den Thread dann bitte noch auf "erledigt" ? (gibts nen Button im ersten Post).