Moin Leute,
ich kämpfe mit einem "Objekt erforderlich"-Fehler, den ich mir nicht erklären kann. Simples Szenario:
Ich öffne im Word-Makro eine Instanz von Excel, um mit der Tabelle für den Mail Merge besser arbeiten zukönnen (Performance, etc). Das tu ich im Formular "frmExport". Dort existiert dann ein Objekt (Excel.Worksheet) mit dem besagten Worksheet. Innerhalb dieses UserForms kann ich auch damit arbeiten (Cells ansprechen usw) aber nicht aus einem anderen UserForm heraus. Hier der Snippet, welcher mir die Excel-Instanz öffnet:
strXLWbk = ActiveDocument.MailMerge.DataSource.Name
''' start an excel instance to use its functions
On Error Resume Next
Set Excel = GetObject(, "Excel.Application")
If Excel Is Nothing Then
' no current Excel application
Set Excel = CreateObject("Excel.Application")
Set wkbkXLBook = Excel.Workbooks.Open(strXLWbk)
'Excel.Visible = True
Else
' Excel app running
For Each tmpWkbk In Excel.Workbooks
If StrComp(tmpWkbk.FullName, strXLWbk, vbTextCompare) = 0 Then
' this is your workbook
Set wkbkXLBook = tmpWkbk
Exit For
End If
Next tmpWkbk
If wkbkXLBook Is Nothing Then
' not open
Set wkbkXLBook = Excel.Workbooks.Open(strXLWbk)
End If
End If
Set wkSheet = wkbkXLBook.Worksheets(1)
Am ende hab ich das Objekt "wkSheet". Dieses habe ich auch als Public deklariert. Wenn ich beispielsweise im UserForm "frmExport"
MsgBox wkSheet.Name
ausführe, wird mir der Name angezeigt. Möchte ich jedoch aus einem UserForm, welches ich aus dem "frmExport" heraus öffne
MsgBox frmExport.wkSheet.Name
anzeigen lassen, bekomme ich einen "Objekt erforderlich"-Fehler.
Weiß jemand woran das liegen könnte? Mir fällt nichts ein.
Danke im Voraus!
|