Ein kleines Problem bleibt aber.
Die Mappe ist z.B. bereits offen. Durch mein Script wird diese Mappe erneut automatisch geöffnet. Nun zeigt er mit dem ReadOnly an, dass nur Leserechte bestehen.
Schließe ich aber die Mappe, welche ich sichtbar auf dem Rechner sehe (im Task-Manager sind ja beide aufgeführt), bricht das Script ab.
Also ich erhalte die Meldung, dass Mappe bereits offen ist (ReadOnly = True), schließe die Mappe. Versuche dann erneut zu Speichern, dann kommt eine Meldung hoch, dass die Mappe "xy.xls" wieder verfügbar ist und wählen sie den Lese-/Schreibzugriff aus.
Egal was ich da mache (Lese-/Schreibzugriff oder Abbrechen), die Mappe erscheint erneut, beim Schließen mit der Abfrage ob Speichern und beim Script kommt dann "Klasse unterstützt keine Automatisierung". Obwohl laut Task-Manager noch eine EXCEL-Instanz offen ist.
Ich weiß, dass ich da grad die übers Script zu speichernde Mappe geschlossen hab. Aber wie kann ich das umgehen, dass er weiterhin diese EXCEL-Instanz mitführt?
Mein Codeauszug sieht da wie folgt aus:
document.getElementById( "EXCEL_Schleife_Speichern" ).onclick = function() {
if( EXCEL_Speicherung.Workbook.ReadOnly )
{
alert( "Die Mappe ist bereits offen. Bitte zuerst schließen." );
} else {
document.getElementById( "EXCEL_Schleife_Beenden" ).disabled = true;
EXCEL_Speicherung.Workbook.Save();
document.getElementById( "EXCEL_Schleife_Weiter" ).style.visibility = "visible";
}
};
Die "EXCEL_Speicherung" ist die geöffnete EXCEL-Instanz aus dem VBScript.
LG Romero