Ok. Ich weis jetzt was das ist. Aber keine Versionskontrolle müsste ja dann meine Wahl sein. Ich habe es ausserdem mit "Neue Versionen werden Antworten" und "Manuell-Dateio..."
probiert. Klappt aber trotzdem net. Er speichert zwar ab und lädt auch beim Laden die richtigen Werte. Aber er erzeugt beim Abspeichern noch immer neue Dokumente.
Aber die Schleife hab ich eingebaut ^^.
Vielleicht nochmal zur Erklärung: Ich möchte den Pfad ganz simpel abspeicehrn, so das der User einen Pfad auswählen kann dieser Pfad soll der Standartpfad zum Abspeichern von Werten in einer Excel-Datei sein. Und wenn ich folgenden Code ausführe:
(Man beachte dazu die MsgBox dann muss man net allet durchlesen )
Sub Initialize()
Const RowStart = 1, ColStart = 3
Dim session As New NotesSession
Dim db As NotesDatabase
Dim dc As notesdocumentcollection
Dim nd As notesdocument
Dim workspace As New notesuiworkspace
Dim docCur As notesuidocument
Dim xl As Variant
Dim xlWbk As Variant
Dim sh As Variant
Dim i As Integer
'--------------------------------------------------------------
'Arbeitsfläche in Lotus
Set db = session.currentdatabase
Set dc = db.AllDocuments
Set docCur = workspace.currentdocument
'--------------------------------------------------------------
Print "Starte Excel..."
'--------------------------------------------------------------
'Erzeugen der Excelverbindung
Set xl = CreateObject("Excel.Application")
Set xlWbk = xl.Workbooks.Add
'--------------------------------------------------------------
'--------------------------------------------------------------
' Eintragen der Werte in Excel
Dim j As Integer
j=1
xlWbk.ActiveSheet.Cells(RowStart,1)="Lieferantennr."
xlWbk.ActiveSheet.Cells(RowStart,2)="Lieferant"
For i=1 To dc.count
Set nd=dc.getNthDocument(i)
If nd.form(0)="frmBEWERTUNG" Then
If j=1 Then
xlWbk.ActiveSheet.Cells(RowStart, colstart)=nd.crit1
xlWbk.ActiveSheet.Cells(RowStart, colstart+1)=nd.crit2
xlWbk.ActiveSheet.Cells(RowStart, colstart+2)=nd.crit3
xlWbk.ActiveSheet.Cells(RowStart, colstart+3)=nd.crit4
xlWbk.ActiveSheet.Cells(RowStart, colstart+4)=nd.crit5
xlWbk.ActiveSheet.Cells(RowStart, colstart+5)=nd.crit6
xlWbk.ActiveSheet.Cells(RowStart, colstart+6)=nd.crit7
End If
xlWbk.ActiveSheet.Cells(rowstart+j, colstart) =nd.note1
xlWbk.ActiveSheet.Cells(rowstart+j, colstart+1) =nd.note2
xlWbk.ActiveSheet.Cells(rowstart+j, colstart+2) =nd.note3
xlWbk.ActiveSheet.Cells(rowstart+j, colstart+3) =nd.note4
xlWbk.ActiveSheet.Cells(rowstart+j, colstart+4) =nd.note5
xlWbk.ActiveSheet.Cells(rowstart+j, colstart+5) =nd.note6
xlWbk.ActiveSheet.Cells(rowstart+j, colstart+6) =nd.note7
j=j+1
Elseif nd.form(0)="Felder" Then
Msgbox(nd.Pfad(0))
End If
Next
'--------------------------------------------------------------
Print "Excel Dokument erstellt"
'--------------------------------------------------------------
' Excel-Datei sichtbar machen
xlWbk.SaveAs ("C:\Documents and Settings\wsy5440\Desktop\test2.xls")
xl.Visible = True
'--------------------------------------------------------------
DONE:
Exit Sub
End Sub
Alles anzeigen
Dann gibt er mir Alle Pfade aus die ich schoneinmal gespeichert hatte. (Die Pfade lasse ich natürlich nur testweise ausgeben.)
... ja ich weis das der Code noch net optimal ist ^^. Die Optimierung kommt später. Ich will erstmal das es läuft.
Nichts desto trotz sind Änderungsvorschläge stets willkommen. Nimmt mir ja Arbeit ab.