----- 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.