# Öffnen un Schliessen einer Excel-Datei mit WinCC (VBS)



## Benny

Moin!

Hab folgendes Problem:
Will in WinCC eine Excel-Datei öffnen(versteckt/nicht sichtbar), auf die Tabelle die darin steht zugreifen und excel danach wieder schliessen. Ich bin so weit, dass ich in ein Eingabefeld in WinCC eine Zahl aus der Tabelle eingeben kann und beim betätigen eines START-Button der entsprechende Wert aus der Tabelle in einem Ausgabefeld erscheint. Mit dem BEENDEN-Button soll die Runtime und die geöffnete Excel-Datei geschlossen werden. Das Funktioniert soweit auch. (Excel-Prozess steht nicht mehr im Taskmanager)
Starte ich die Runtime aber erneut, öffnet er mir Excel 2x und bringt dann den Fehler "Excel wird gerade verwendet!"

Es soll eigentlich nur folgendes passieren:

Ich starte die Runtime --> die erforderlichExcel-Datei öffnet sich (versteckt) --> das funktioniert!!!!

Ich beende die Runtime mit dem von mir erstellten BEENDEN-Button -->Runtime wird geschlossen; Excel wird geschlossen --> funktioniert nicht richtig!

Was habe ich nicht beachtet?


----------



## Anonymous

Hallo Benny,

schau mal unter  Beitrag  WinCC v6.0 Archivdaten zu Excel.

Das ist ein Beispiel drin zur Exceleinbindung.



Gruss Siggi


----------



## Benny

Danke für den Tip!

Kann damit aber leider nicht viel Anfangen. Gibt es in VBS kein Befehl der mir einfach jede Excel Datei schliesst, sodass beim erneuten starten nicht 2 Excel-Dateien parallel laufen, sondern immer nur die eine die beim Drücken des starten der Runtime beginnt?


----------



## Benny

Kann mir vielleicht jemand helfen? Wie greife ich denn von wincc (VBS) auf eine bereits geöffnete excel-datei zu?


----------



## volker

meines wissen geht das nicht, da excel die datei exklusiv öffnet.


----------



## Benny

Kannst du mir dann eventuell behilflich sein bei dem problem, das ich anfangs geschildert habe? Hab so programmiert, das sich beim drücken der start taste, excel öffnet und bem Betätigen des ende Button wieder schliesst. das macht es auch beides, zumindest sieht es so aus. Excel erscheint zwar nicht mehr im Taskmanager, will ich die ganze Procedur (Start-->Ende) wieder machen, öffnet sich Excel 2x. Warum? Sieht so aus, als würde sich Excel, auch wenn es nicht mehr im Taskmanager erscheint, nicht vollständig schliesst. Wie kann ich das Problem lösen?


----------



## uz71

*Excel schliessen*

Datei xy.xls öffnen 

Dim objExcelApp 
Set objExcelApp = CreateObject("excel.Application") 
objExcelApp.Visible = 0 'Excel sichtbar oder nicht sichtbar 
objExcelApp.Workbooks.Open "c:\xy.xls" ' 


Datei xy.xls schließen 

objExcelApp.Workbooks.Close 'Exceldatei schlissen 
objExcelApp.Quit 'Excel schlissen 
Set objExcelApp = Nothing 'Variable freigeben 


Es gibt einen recht hilfreichen Trick: 
Man zeichnet sich in Excel eine Makro auf kann dann die Befehle in WinCC VBS nutzen. 

Gruss


----------



## Anonymous

Hallo uz71

Vielen Dank für deinen Tipp, bzw. den Text. So wie du es hier beschrieben hast, hab ich es ebenfalls geschrieben. Das funktioniert auch, aber nur einmal. Beim 2. Mal öffnet er mir Excel 2x im Taskmanager bzw. er hat mir Excel beim ersten mal nicht richtig geschlossen. Im Taskmanager steht nichts mehr von Excel. Nur wenn ich den Start Button betätige öffnet er es mir 2x. Warum?


----------



## Benny

Hallo uz71

Der Gast war ich. Hab vergessen mich anzumelden. Sorry


----------



## uz71

*EXCEL*

mit welcher wincc version arbeitest du ?


----------



## Benny

Hallo uz71!

Ich benutze die Version SIMATIC WinCC K6.0.3.0 Hotfix 2


----------



## Benny

Ergänzung!

Das alles soll unter Windows 2000 laufen!


----------



## santero

hallo,

wie kann ich denn makros die ich in Excel erstellle in Win cc nutzen.wie kriege ich das in vbs eingebunden???


----------



## santero

Mahlzeit,

weiss einer wie man eine geöffnete Exceldatei (sichtbar) schliessen kann über eine Pfadangabe , z.B. D:\mappe1.xls  ???


----------



## Larry Laffer

Hallo,
das geht nicht.
Die Datei wird im Script über den zuvor festgelegten Object-Handle behandelt - den mußt du also kennen ...

Gruß
Larry


----------



## santero

Kurz mal das was ich vor habe:

Ich habe einen Pfad z.B.  C:\mappe3.xls.  Dann möchte ich prüfen ob diese datei geöffnet ist. Das sollte man doch wenigstens hinkriegen. Wenn die Datei nicht geöffnet ist soll nix passieren wenn JA soll sie geschlossen werden.

Kann man da nicht was mit getobject machen ??

Hab alles rauf und runter schon probiert (

Also mit der Brutalo methode hab ichs hingekriegt, d.h. alle Excelprozesse im Taskmanager killen.


----------



## Larry Laffer

santero schrieb:


> Kurz mal das was ich vor habe:
> 
> Ich habe einen Pfad z.B. C:\mappe3.xls. Dann möchte ich prüfen ob diese datei geöffnet ist. Das sollte man doch wenigstens hinkriegen. Wenn die Datei nicht geöffnet ist soll nix passieren wenn JA soll sie geschlossen werden.
> 
> *Kann man da nicht was mit getobject machen* ??


 
Das mußt du ausprobieren.
Warum kennst du denn das Objekt und dessen Zustand nicht ?


----------



## santero

Also ich generiere eine Exceldatei mit bestimmten Werten usw.. Die wird dann automatisch geschlossen. So später im Prozess möchte ich diese Datei wieder öffnen und worksheets graphen usw. adden was auch alles klappt. Es läuft alles im hintergrund ab.

Nur wenn jetzt jmd nahc dem ersten schreibvorgang die datei mit doppelklick oder sonst wie öffnet und ich das zweite mal schreiben will dann stürzt das Programm ab.

Deswegen will ich Datei schliessen bevor ich das 2. mal schreibe, oder ich muss was beim öffnen ändern.

???


----------



## santero

So hab es hingekriegt endlich.

Mein Problem war wenn die Datei offen war und ich sie das 2. mal mit 



		Code:
	

set wbexcel = appexcel.workbooks.open ( Pfad )


geöffnet habe kam ein Fenster wo man eine kopie speichern konnte. Das war aber Mist und das Programm ist dann auch abgestürzt.

Es geht bestimmt das man sich die geöffnete Datei wieder hinbiegt mit visible usw. das man wieder schreiben kann aber das war mir dann zu kompliziert.

Hab mir aus einem anderen Beitrag im Forum und Getobject was zusammengebastelt.



		Code:
	

Sub Ist_Excel_offen ( path )

'Variablen deklarieren
Dim fs 
Dim textfile
Dim fname
Dim excelobj

'Konstante
Const ForAppending = 8

'Fehlerbehnadlung aktivieren
On Error Resume Next

'Filesystemobjekt erstellen
Set fs       = CreateObject( "scripting.filesystemobject" )

'Versuchen die Datei zum Anhängen zu öffnen
Set textfile = fs.OpenTextFile( path, ForAppending )

'Wenn Fehler kommt dann Datei wieder schliessen
If Err.Number = 70 Then       
  Set excelobj = GetObject ( path )
      excelobj.close False           
End If

'Textdatei wieder schliessen
textfile.Close
On Error GoTo 0

'Speicher freigeben
Set fs       = Nothing
Set textfile = Nothing
Set fname    = Nothing
Set excelobj = Nothing

end sub


Ich muss zugeben Getobject hab ich nicht 100% verstanden. Aber falls die Datei mit dem angegeben Pfad offen ist kann man die schliessen.

Denke das Beispiel kann man auf beliebige Dateitypen ummünzen


----------



## Waldi1954

Hallo Benny 
habe ein Funktionsfähiges Beispielprogramm mit einer dazugehörigen Excel Tabelle. Du kannst es mit der Simulation bedienen und alle Funktionen testen. Die Bedienoberfläche ist mit WCCFlex erstellt als PC Applikation. Die Bedienung der Excel Tabelle läuft voll in Hintergrund ab. Alle schreib und Leberfunktionen werden über Symboltasten gesteuert. Wenn du Interesse daran hast kann ich es dir in den nächsten 2-3 Tagen auf dieser Seite bereitstellen.
Gruß Waldi


----------



## santero

Wäre nett wenn du das mal posten könntest. Vielleicht kann ich meine Programme ja auch noch optimieren


----------



## Move

uz71 schrieb:


> Datei xy.xls öffnen
> 
> Dim objExcelApp
> Set objExcelApp = CreateObject("excel.Application")
> objExcelApp.Visible = 0 'Excel sichtbar oder nicht sichtbar
> objExcelApp.Workbooks.Open "c:\xy.xls" '
> 
> 
> Datei xy.xls schließen
> 
> objExcelApp.Workbooks.Close 'Exceldatei schlissen
> objExcelApp.Quit 'Excel schlissen
> Set objExcelApp = Nothing 'Variable freigeben
> 
> 
> Es gibt einen recht hilfreichen Trick:
> Man zeichnet sich in Excel eine Makro auf kann dann die Befehle in WinCC VBS nutzen.
> 
> Gruss


 
Hallo Fachmänner,

habe dies hier mal umgesetzt, da ich dieses Thema aktuell auch brauche.
Grundsätzlich funktioniert mein Script, Werte werden gelesen und auf die S7-Variable geschrieben.
Aber:
Die Excelliste die ich per Script öffne und dann am Ende schliesse, wird aktualisiert und muss gepeichert werden, gibt es da ein Befehl für?
Weiteres Problem ist, das im Task-Manager pro Script-Durchlauf eine Excel.exe als Prozess startet und auch bestehen bleibt, heißt der Rechner ist irgendwann "zu", was kann man da machen?

Gruß
Move


----------



## Larry Laffer

@Move:
wenn du die Sequenz so beendest :
	
	




		Code:
	

objExcelApp.Workbooks.Close True 
objExcelApp.Quit

... dann wird das Workbook geschlossen ohne weitere Rückfrage.
Das "objExcelApp.Quit" beendet die Excel-Instanz im Task-Manager. Wenn die bei dir im Speicher bleibt dann hast du die Befehle wohl anscheinend nicht korrekt angewendet oder eingegeben.

Gruß
Larry


----------



## santero

Also die Befehle aus dem Makrorecorder kann man nicht ohne weiteres übernehmen.

Viele Befehle aus VBA stehen in VBS nicht zur Verfügung. Das muss man dann umstricken. Hab auch alles hingekiregt was ich wollte auch wenns manhcmal stunden gedauert hat.


----------



## Larry Laffer

@Santero:
Das hatte in dem Beispiel von mir nichts mit dem Makro-Rekorder zu tun sondern bezieht sich auf das auch hier im Forum von mir veröffentlichte Code-Beispiel, dass auch in der FAQ zu finden und nachzulesen ist.
Der Code daraus war / ist funktionsfähig (nur war die Excel-Geschichte insgesamt für mich nicht schnell genug).

Gruß
Larry


----------



## santero

Oh sorry da war aus dem zusammenhang. Es wird ja öfters mal gepostet das man irgendwas generiert und sich dann die Befehel aus dem Makrorecorder nimmt. Deswegen meinte ich , dass das nicht einfach so geht


----------



## Move

Larry Laffer schrieb:


> @Move:
> wenn du die Sequenz so beendest :
> 
> 
> 
> 
> 
> 
> Code:
> 
> 
> objExcelApp.Workbooks.Close True
> objExcelApp.Quit
> 
> ... dann wird das Workbook geschlossen ohne weitere Rückfrage.
> Das "objExcelApp.Quit" beendet die Excel-Instanz im Task-Manager. Wenn die bei dir im Speicher bleibt dann hast du die Befehle wohl anscheinend nicht korrekt angewendet oder eingegeben.
> 
> Gruß
> Larry


 
Nun ja, 
was soll ich sagen, kaum macht man's richtig funzt es auch schon
Vielen vielen Dank...


----------



## Move

Ups,

zu früh gefreut:
Hier mal mein Vorhaben:
Das schliessen funktioniert aber die Excel.exe in der Task bleibt erhalten:-(
Die Excel müsste durch WinCC bei mir nicht geöffnet werden, reines lesen reicht.
Nur wie setzt man das um, ich finde immer nur die Open-Befehle
Gruß
Move

Option Explicit
Function action
Dim excel, wbActive, wsActive 
'Create an Excel-Application object 
Set excel = CreateObject("Excel.Application") 
excel.Visible = 0
Set wbActive = excel.Workbooks.Open("D:\Postfach\KIS Wetterprognose WinCC.xls") 
Set wsActive = wbActive.Worksheets("Tabelle1") 
'----------------- WinCC Variable schreiben -------------------- 
'wsActive.cells(2,3) = Zeile 2, Spalte 3

Dim objTag 

Set objTag = HMIRuntime.Tags("Temp_00_T0_B2") ' Temperatur 0:00 Uhr
objTag.Value = wsActive.cells(2,2).Value 
objTag.Write 

Set objTag = HMIRuntime.Tags("Temp_01_T0_B3") ' Temperatur 1:00 Uhr 
objTag.Value = wsActive.cells(3,2).Value 
objTag.Write 

' etc...

excel.Workbooks.Close True 'Exceldatei schliessen 
excel.Quit 'Excel schliessen 
Set excel = Nothing 'Variable freigeben 
End Function


----------



## Larry Laffer

Naja ...
Es geht nur so. Mit "CreateObject" wird Excel gestartet. Mit dem "Open" wird das Workbook aufgeschlagen (geöffnet). Was du dann damit machst bleibt dir überlassen. Anschließend schließt du das Workbook wieder und beendest die Applikation.

Wenn du allerdings (wie du schreibst) nur den Inhalt des Workbooks liest dann verstehe ich nicht, weshalb Excel eine Änderung der Datei feststellt.
Kann es sein, dass du das gleiche Script ggf. noch ein weiteres Mal aufrufst ? Wie ist das bei dir organisiert ?
Genauso muß der "excel.Quit" die gestartete Instanz aus dem Taskmanager entfernen. Auch das deutet für mich auf ein zweites Aufrufen von Excel hin.

Gruß
Larry


----------



## Move

Hi,

ja das ganze sieht so aus, das die Exceldatei die geöffnet wird Verweise auf eine andere Excelliste besitzt. Somit aktualisiert sie sich und will beim Schliessen gespeichert werden.
Sollte das das Probelm sein?
Gruß
Move


----------



## Move

Hi,

ich denke das Problem liegt nicht am Excel-Sheet.
Ich habe jetzt mal eine Tabelle angelegt mit zwei 
Zahlen als Eintrag, also ganz simpel.

Dann diese mit VBS geöffent, gespeichert und geschlossen.
Fazit: Im Taskmanager bleibt Excel.exe stehen.
Schliesse ich die Excel-Datei händisch also click auf [x], dann verschwindet auch Excel.exe.

Was kann es sein?

Gruß
Move


----------



## santero

Ja das ist alles ein bisschen wirr.

aber wenn du willst kann ich dir hier die brutalo methode posten die alle excel.exe prozesse aus dem taskmanager killt. ist zwar nicht elegant aber geht wenn dich das zufrieden stellt


----------



## Larry Laffer

... also auch wenn du Verweise auf ein anderes Sheet hast sollte das keine neue Instanz erzeugen. Ggf. im Sheet gemachte Änderungen behandelt der ".close true".
Wann wird dein Script aufgerufen ?
Hast du mal den taskmanger beobachtet um zu sehen wann Excel das 2. Mal gestartet wird ?

Gruß
Larry


----------



## Waldi1954

Hallo Benny

hier das Versprochene Beispielprogamm. Das Projekt bitte auf das Verzeichnis C:\ ablegen, damit auf die Tabellen zugegriffen werden kann.
Softwarestand: Step7 Version 5.5 WinCC 2008 SP2.

Vorgehensweise zum Testen:

In Stepp7 Programm ist ein Verzeichnis ProgFuer_Simulator, Simulation öffnen und diese Bausteine in den Simulator laden und mit P-Run starten.
Dann mit Bild "Tabelle" WinCC öffnen, danach mit dem Button "Runtime Start" Projekt aktivieren.

Dieses Beispiel ist aus einen von meinen Projekten erstellt worden, und ist somit kein rein Zugeschnittenes Beispielprogramm. Es wird bei schreib und Leseaktionen abgefragt, ob schon ein Excel Prozess aktiv ist. 
Wenn du die Syntax zur Abfrage der Explizierten Tabelle hast, könntest du? die Skriptanweisung auf dieser Seite veröffentlichen. 

Mit freundlichen Grüßen
Waldi


----------



## Move

Hallo Larry,

also das Script wird derzeit jede Minute aufgerufen, im Endausbau jedoch nur alle 24h.
Die Excel.exe wird im Task-Manager eingetragen,sobald die Excel-Datei gestartet wird und bleibt dann dort bestehen auch wenn die Datei per Script wieder geschlossen wird.
Nach Ablauf der Minute kommt das die nächste Excel.exe usw usw.
Nur wenn ich die Excel-Datei selber händisch schliesse, dann verschwindet auch die Excel.exe.
Sehr suspekt..

Gruß Move


----------



## Kai

uz71 schrieb:


> Dim objExcelApp
> Set objExcelApp = CreateObject("excel.Application")
> objExcelApp.Visible = 0 'Excel sichtbar oder nicht sichtbar
> objExcelApp.Workbooks.Open "c:\xy.xls" '
> 
> Datei xy.xls schließen
> 
> *objExcelApp.Workbooks.Close* 'Exceldatei schlissen
> objExcelApp.Quit 'Excel schlissen
> Set objExcelApp = Nothing 'Variable freigeben


 


Larry Laffer schrieb:


> wenn du die Sequenz so beendest :
> 
> 
> 
> 
> 
> 
> Code:
> 
> 
> [B]objExcelApp.Workbooks.Close True[/B]
> objExcelApp.Quit
> 
> ... dann wird das Workbook geschlossen ohne weitere Rückfrage.
> Das "objExcelApp.Quit" beendet die Excel-Instanz im Task-Manager. Wenn die bei dir im Speicher bleibt dann hast du die Befehle wohl anscheinend nicht korrekt angewendet oder eingegeben.


 
In dem folgenden VBScript funktioniert der obige Programmcode von Larry Laffer nicht richtig:



		Code:
	

Dim objExcel 
Dim objWBExcel
Dim objWSExcel
 
Set objExcel = CreateObject("Excel.Application") 
Set objWBExcel = objExcel.Workbooks.Open("F:\Mappe1.xls")
Set objWSExcel = objWBExcel.Worksheets("Tabelle1")
 
objWSExcel.Cells(2, 1).Value = objWSExcel.Cells(1, 1).Value * 2
 
[B]objExcel.Workbooks.Close True[/B] 
objExcel.Quit

 
Das VBScript bricht mit einem Laufzeitfehler in der folgenden Programmzeile ab:



		Code:
	

[B]objExcel.Workbooks.Close True[/B]

 



Die nachfolgende Programmzeile wird nicht mehr bearbeitet und die Excel-Instanz wird im Windows Task-Manager nicht beendet:



		Code:
	

objExcel.Quit

 
Mit der nachfolgenden Programmänderung funktioniert das VBScript dann richtig:



		Code:
	

Dim objExcel 
Dim objWBExcel
Dim objWSExcel
 
Set objExcel = CreateObject("Excel.Application") 
Set objWBExcel = objExcel.Workbooks.Open("F:\Mappe1.xls")
Set objWSExcel = objWBExcel.Worksheets("Tabelle1")
 
objWSExcel.Cells(2, 1).Value = objWSExcel.Cells(1, 1).Value * 2
 
[B]objWBExcel.Close True[/B]
objExcel.Quit

 
Siehe dazu auch das folgende Programmbeispiel:

http://www.sps-forum.de/showpost.php?p=316176&postcount=11

Gruß Kai


----------



## Kai

Move schrieb:


> Das schliessen funktioniert aber die Excel.exe in der Task bleibt erhalten:-(
> 
> Option Explicit
> Function action
> Dim excel, wbActive, wsActive
> 'Create an Excel-Application object
> Set excel = CreateObject("Excel.Application")
> excel.Visible = 0
> Set wbActive = excel.Workbooks.Open("D:\Postfach\KIS Wetterprognose WinCC.xls")
> Set wsActive = wbActive.Worksheets("Tabelle1")
> '----------------- WinCC Variable schreiben --------------------
> 'wsActive.cells(2,3) = Zeile 2, Spalte 3
> 
> Dim objTag
> 
> Set objTag = HMIRuntime.Tags("Temp_00_T0_B2") ' Temperatur 0:00 Uhr
> objTag.Value = wsActive.cells(2,2).Value
> objTag.Write
> 
> Set objTag = HMIRuntime.Tags("Temp_01_T0_B3") ' Temperatur 1:00 Uhr
> objTag.Value = wsActive.cells(3,2).Value
> objTag.Write
> 
> ' etc...
> 
> *excel.Workbooks.Close True* 'Exceldatei schliessen
> excel.Quit 'Excel schliessen
> Set excel = Nothing 'Variable freigeben
> End Function


 
Das VBScript sollte mit der folgenden Programmänderung funktionieren:



> Option Explicit
> Function action
> Dim excel, wbActive, wsActive
> 'Create an Excel-Application object
> Set excel = CreateObject("Excel.Application")
> excel.Visible = 0
> Set wbActive = excel.Workbooks.Open("D:\Postfach\KIS Wetterprognose WinCC.xls")
> Set wsActive = wbActive.Worksheets("Tabelle1")
> '----------------- WinCC Variable schreiben --------------------
> 'wsActive.cells(2,3) = Zeile 2, Spalte 3
> 
> Dim objTag
> 
> Set objTag = HMIRuntime.Tags("Temp_00_T0_B2") ' Temperatur 0:00 Uhr
> objTag.Value = wsActive.cells(2,2).Value
> objTag.Write
> 
> Set objTag = HMIRuntime.Tags("Temp_01_T0_B3") ' Temperatur 1:00 Uhr
> objTag.Value = wsActive.cells(3,2).Value
> objTag.Write
> 
> ' etc...
> 
> *wbActive.Close True* 'Exceldatei schliessen
> excel.Quit 'Excel schliessen
> Set excel = Nothing 'Variable freigeben
> End Function


 
Gruß Kai


----------



## Kai

Nachtrag:

Der Speicher, den die Excel-Objekte belegen, muss freigegeben werden, damit die Excel-Instanz im Windows Task-Manager beendet wird.

Während der Laufzeit des VBScripts kann der Speicher freigegeben werden, indem den Objektvariablen der Wert Nothing zugewiesen wird.

Ansonsten wird spätestens beim Beenden des VBScripts der verwendete Speicher wieder freigegeben



		Code:
	

Dim objExcel 
Dim objWBExcel
Dim objWSExcel
 
Set objExcel = CreateObject("Excel.Application") 
Set objWBExcel = objExcel.Workbooks.Open("F:\Mappe1.xls")
Set objWSExcel = objWBExcel.Worksheets("Tabelle1")
 
objWSExcel.Cells(2, 1).Value = objWSExcel.Cells(1, 1).Value * 2
 
objWBExcel.Close True
objExcel.Quit
 
Set objWSExcel = Nothing
Set objWBExcel = Nothing
Set objExcel = Nothing

 


		Code:
	

Option Explicit
Function action 
Dim excel, wbActive, wsActive 
'Create an Excel-Application object 
Set excel = CreateObject("Excel.Application") 
excel.Visible = 0
Set wbActive = excel.Workbooks.Open("D:\Postfach\KIS Wetterprognose WinCC.xls") 
Set wsActive = wbActive.Worksheets("Tabelle1") 
'----------------- WinCC Variable schreiben -------------------- 
'wsActive.cells(2,3) = Zeile 2, Spalte 3
 
Dim objTag 
 
Set objTag = HMIRuntime.Tags("Temp_00_T0_B2") ' Temperatur 0:00 Uhr
objTag.Value = wsActive.cells(2,2).Value 
objTag.Write 
 
Set objTag = HMIRuntime.Tags("Temp_01_T0_B3") ' Temperatur 1:00 Uhr 
objTag.Value = wsActive.cells(3,2).Value 
objTag.Write 
 
' etc...
 
wbActive.Close True 'Exceldatei schliessen 
excel.Quit 'Excel schliessen 
Set wsActive = Nothing 'Speicher freigeben
Set wbActive = Nothing
Set excel = Nothing 
End Function

 
Gruß Kai


----------



## Move

Hi an alle,

also genützt hat bisher nichts, aber ich habe jetzt mal auf verschiedenen Rechnern mein Script laufen lassen und siehe da, auf beiden Rechnern (Office 2003 SP3 + Office 2002) funktioniert alles, excel.exe wird geschlossen. Nur auf meinem Rechner (auch Office 2003, Excel 11.8307.8221 SP3) läuft es nicht. Ich schätze da ist bei mir was vergurkt?
Ich versuche es mal mit einer Neuinstallation und melde mich nochmal.

Gruß
Move


----------



## Move

Hi Fangemeinde,

bin jetzt auf der Anlage wo auch der Siemens-Rechner (Rack-PC) mit der install. Office 2003 Version steht.
Hier funktioniert jetzt alles tadellos. Excel.exe schließt jedesmal nach Scriptende.

Also Dank an alle.

Gruß
Move


----------

