Hi ihr,
ich bin gerad via script mehrere Dokumente ins Excel zu kopieren. Das war bis jetzt eigentlich nicht so das Problem. Ich habe einfach folgenden Code verwendet:
Set exlApp= CreateObject("Excel.application")
Set exlSheet = exlApp.Workbooks(1).Worksheets(1)
Dann hab ich mit z.B.
exlSheet.Cells(10,1).Value = "Werte"
und so weiter die Zeilen befüllt, formatiert. So wie ich es halt möchte.
Jetzt steh ich aber vor folgendem Problem.....
Die Werte sollten in eine bereits fertige Excel Vorlage geschrieben und danach geöffnet werden. (Abspeichern ist nicht nötig). Ich habe dazu in einem Profildokument ein RTF erstellt, in das die Vorlage eingehängt wird. Mit Set rtitem = doc.GetFirstItem( "Vorlage" )
If ( rtitem.Type = RICHTEXT ) Then
Forall o In rtitem.EmbeddedObjects
If ( o.Type = EMBED_ATTACHMENT ) Then
hab ich dann das Excelobject in der Variable o.
Um jetzt meine Werte in das excel schreiben zu können, muss ich jetzt die variablen exlApp und exlSheet befüllen. Die Variable o entspricht aber nicht dem Ergebnis, das man mit
Set exlApp= CreateObject("Excel.application")
bekommt.
Kann mir vieleicht jemand sagen, wie ich von dem o zu dem exlApp komme?
Vielen Dank und Lei Lei :-P
-daniel
Ich mach' das immer so:
Dim objExcel As Variant
Dim objSheet As Variant
On Error Resume Next
Set objExcel = GetObject("", "Excel.Application")
If Err = 208 Then ' Fehler 208 tritt auf wenn Excel noch nicht läuft
Err = 0
Set objExcel = CreateObject("Excel.Application") 'Excel "unsichtbar" starten
End If 'If Err = 208 Then
On Error Goto ErrorHandler
Call objExcel.Workbooks.Open ("Laufwerk:\Verzeichnis\Dateiname.xls")
Set objSheet = objExcel.Workbooks(1).Worksheets(1)
...
'Füllen der Zellen
...
'Excel sichtbar machen
objExcel.Visible = True
...
ErrorHandler:
' Hier erfolgt die Fehlerbehandlung
...
Axel