----- Original Message ----- From: "Stefan Weigel" <[EMAIL PROTECTED]>
To: "REALbasic NUG German" <[email protected]>
Sent: Sunday, September 14, 2008 7:42 AM
Subject: Re: Excel Automation


Christian Hahn schrieb:

Mein Code bis hierhin:

 Dim excel As New ExcelApplication
 Dim book As ExcelWorkbook

 book = excel.Workbooks.Open("I:\a_KOFFER\Schule_Nb\08_09\ListenFürLehrer
08_09\ListenFuerLehrer08_09_1")
 excel.Visible = true

Das klappt.

Das bezweifle ich. :-)

Jetzt müsste kommen etwa:

book.sheets(1).select

was aber so nicht funktioniert.

Kann es auch nicht :-)


So geht´s:

Dim XL As New Excel.Application
Dim book As Excel.Workbook

Sub Test()
    Set book = XL.Workbooks.Open("C:\Dokumente und
Einstellungen\stefan\Desktop\test.xls")
    XL.Visible = True
    book.Sheets(2).Activate
End Sub


Beachte die Unterschiede zu Deinem Code:

(1) Du verwendest das reservierte Schlüsselwort Excel als Name für eine
Objektvariable.

(2) Du vergisst zwischen dem Identifier der Objektbibliothek und der
Klasse einen Punkt. Falsch: ExcelApplication. Richtig Excel.Application.
Falsch: ExcelWorkbook. Richtig: Excel.Workbook.

(3) Für das Zuweisen eines Objekts zu einer Objektvariablen braucht es das
Schlüsselwort Set.

(4) Die Methode für das Auswählen eines Tabellenblattes heißt nicht Select
sondern Activate.

Besten Dank, lieber Stefan, deine Hinweise überzeugen mich sofort.
Jedoch, hier muss es sich um eine RB-spezifische Implementation handeln.
Denn sowohl Excel.Application statt ExcelApplication, als auch Excel.Workbook statt ExcelWorkbook führen jeweils zu einem Runtime Error und RB stürzt komplett ab.
Auch das Schlüsselwort Set ist RB unbekannt.
Aber (4) bringt mir die Lösung (auch wenn die Makro-Aufzeichnung in Excel für das Umschalten auf ein anderes Tabellenblatt SELECT benutzt).

Dennoch, jetzt ist alles prima.
Ich habe noch eine Frage: Mein RB-Progrämmchen ist eine Konsolen-Programm. Wie kann man das Aufblitzen des Konsolen-Fensters bei der Ausführung vermeiden? Ich stelle die Frage noch einmal als eigenen Thread, damit auch die anderen auf sie aufmerksam werden.

Gerne würde ich mit OpenOffice arbeiten, aber meine Auftraggeber wollen auf
der Microsoft-Schiene bleiben. Mit großem Interesse habe ich mir deine
Internet-Seite dazu angesehen. Beachtlich.

beste Grüße, Christian Hahn.

Antwort per Email an