Hallo,
habe ein kleines Problem. Bin dabei ein Programm zu schreiben, was eine Änderung von Merkmalen vornimmt. Hierzu habe ich eine Klasse geschrieben. Leider bekomm ich immer eine Fehlermeldung "Object variable not set". Das Problem ist einfach, dass ich mit ner Dialogbox arbeite und somit nicht sehen kann, welche Werte gefüllt sind. Ich arbeite schon mit einem ErrorHandler, wo ich zumindest weiß, wo ein Fehler auftrifft also Zeile und Grund. Vielleicht könnt ihr mir ja helfen. Vielen Dank im Voraus.
Class MassenMerkmalCollectionUI As MerkmalCollection
'----------------------------------------------------------------------------------------------------------
ws As NotesUIWorkspace
uidoc As NotesUIDocument
vw As NotesView
db As NotesDatabase
e As Excel
doc As NotesDocument
filename As Variant
docDialog As NotesDocument
'----------------------------------------------------------------------------------------------------------
Sub New (objErrorContainer As ErrorContainer)
Dim session As New NotesSession
Set ws = New NotesUIWorkspace
Set uidoc = ws.CurrentDocument
Set db = session.CurrentDatabase
Set vw = db.GetView("(XYZ)")
' Set doc = uidoc.Document
End Sub
'----------------------------------------------------------------------------------------------------------
Function oeffnen
Dim varReturn As Variant
Set docDialog = GdbCurrent.CreateDocument
Const WINDOWTITLE = "Massenmerkmalsänderung"
varReturn = ws.DialogBox(".AppNCMassenMerkmalsAenderung", False, False, True, False, False, False, WINDOWTITLE, docDialog, True, True)
If varReturn = False Then
Exit Function
End If
End Function
'----------------------------------------------------------------------------------------------------------
Function durchsuchen
Dim uidoc As NotesUIDocument
Set uidoc = ws.CurrentDocument
filename = ws.OpenFileDialog( True, "Wählen Sie die Datei für den Import!","Microsoft Excel Files (*.xls)|*.xls","c:\")
Call uidoc.FieldSetText("DateiNameHidden",filename(0))
Call uidoc.Refresh
End Function
'----------------------------------------------------------------------------------------------------------
Function EditMassenMerkmalCollection '(dc As NotesDocumentCollection) As Variant
Dim docKunde As NotesDocument
Dim dc As NotesDocumentCollection
Dim kunnrexcel As String
Dim zeile As Long
Dim strLabel As String
Dim strField As String
Dim objErrorContainer As ErrorContainer
Dim strMerkmalsgruppenARRAY As Variant
Dim i As Integer
Dim intPos As Integer
Dim bolAlreadyInList As Boolean
Dim bolRemoved As Boolean
Dim strTempARRAY As Variant
Dim bolUpdated As Boolean
Dim IngCount As Long
Dim IngCountSaved As Long
Set e = New Excel() 'Klasse Excel
If DEBUG = 0 Then
On Error Goto err_handler
End If
EditMassenMerkmalCollection = False
' filename = uidoc.FieldGetText("DateiNameHidden")
Call e.open(Cstr(filename(0)))
For zeile = 2 To 65000
kunnrexcel = Cstr(e.getCells(zeile,8))
If Len(Trim(kunnrexcel)) > 0 Then
Set dc = vw.GetAllDocumentsByKey(kunnrexcel,True)
strLabel = docDialog.Merkmalsgruppe(0)
strField = strMapFieldLIST(strLabel)
..........
In der Zeile "strLabel = docDialog.Merkmalsgruppe(0)" kommt halt die Fehlermeldung. Nun geh ich einfach mal davon aus, das er docDialog nicht mit den Werten füllt.