Das Notes Forum

Lotus Notes / Domino Sonstiges => OLE/COM-Programmierung => Thema gestartet von: mwue am 20.06.08 - 22:53:17

Titel: Bestimmtes Tabellenblatt in Excel öffnen
Beitrag von: mwue am 20.06.08 - 22:53:17
Hallo zusammen,

ich möchte von Lotus Notes aus eine Excel Datei öffnen und dabei etwas in das 2. Tabellenblatt schreiben. Irgendwie klappt das aber mit dem Code unten nicht.

Solange ich das erste Blatt anspreche mit "Set Asheet = handle.Workbooks(1).Worksheets(1)" ist alles ok, spreche ich das zweite an mit "Set Asheet = handle.Workbooks(1).Worksheets(2)", kommt die Fehlermeldung: "Microsoft Excel: Die Select Methode des Range Objektes konnte nicht ausgeführt werden."

Die Vorlagedatei (file), die geöffnet wird, hat 3 Register. Hier der Lotus Script Code.

' Öffnen der Excel Vorlage und Schreiben des Registernamens
      
   Set handle = CreateObject("Excel.Application") '
   If Not (handle Is Nothing) Then
      
      handle.Visible = False
      handle.Workbooks.Open file  ' die Variable file enthält den Dateinamen und Pfad
         
      
      Set Asheet = handle.Workbooks(1).Worksheets(2) ' select worksheet
      If Not (Asheet Is Nothing) Then
         Asheet.Name = Blattname2
      End If
      
   End If
Asheet.Cells(1,1) = "Projektbezeichnung"
handle.Range(Asheet.Cells(1,1), Asheet.Cells(1,2)).Select   ' in dieser Zeile fliegt das Programm raus und die Fehlermeldung kommt.

Was habe ich falsch gemacht ? Ich habe echt keine Idee mehr.

Viele Grüße

Marion
Titel: Re: Bestimmtes Tabellenblatt in Excel öffnen
Beitrag von: Axel am 23.06.08 - 08:55:20
Wie es aussieht lässt sich Range nur auf das aktive Tabellenblatt anwenden. mit der fettgedruckten Zeile funktioniert das Ganze.
 

' Öffnen der Excel Vorlage und Schreiben des Registernamens
     
   Set handle = CreateObject("Excel.Application") '
   If Not (handle Is Nothing) Then
     
      handle.Visible = False
      handle.Workbooks.Open file  ' die Variable file enthält den Dateinamen und Pfad
         
     
      Set Asheet = handle.Workbooks(1).Worksheets(2) ' select worksheet
      If Not (Asheet Is Nothing) Then
         Asheet.Name = Blattname2
      End If
     
   End If

Call Asheet.Activate

Asheet.Cells(1,1) = "Projektbezeichnung"
handle.Range(Asheet.Cells(1,1), Asheet.Cells(1,2)).Select


Axel
Titel: Re: Bestimmtes Tabellenblatt in Excel öffnen
Beitrag von: mwue am 23.06.08 - 09:08:50
Hallo Axel,

klasse, das war ein obergenialer Tipp ! Jetzt funktioniert alles bestens.

Vielen vielen Dank !

Marion

 :) :) :)