Forums Neueste Beiträge
 

XL97 Schreibgeschützt geöfnet - Auto-Save-AddIn stört

21/07/2009 - 15:03 von Eric March | Report spam
Moin, Moin!

Ich hoffe, meine Annahme ist nicht schon an der Wurzel faul…

Innerhalb eines Makros das làngere Zeit làuft öffne ich immer wieder
eine Mappe schreibgeschützt (mit der Idee diese Originale nicht zu
veràndern) und bin nun doch gezwungen einige Daten dort anzupassen
(Motto: wenn schreibgeschützt kann mir das ja egal sein). Es ist
einfacher dieses hier vorab in einem Rutsch zu tun statt diese Daten
nach Entnahme aus der Quelle mühsam umzustricken (wenigstens bilde ich
mir das nach meiner Progammierlogik so ein…)

Nun gab es biem ersten Testlauf eine gewisse Störung im Betrieb und ich
dachte: „Mist. Du hast verpennt bei ActiveWorkbook.Close das (False) zu
ergànzen.“ Da mir das aufpoppen des Speichern-Unter-Dialogs plötzlich zu
regelmàßig kam fiel mein Verdacht auf das berühmte Auto-Save-AddIn.

Ohne nun auf o.g. Logik zu pfeifen, dem Verlust einiger Sekunden nicht
nachzutrauern und es leicht veràndert an Auto-Save vorbei zu lösen:
Kann man so ein AddIn wàhrend eines Makrolaufs rein grundsàtzlich
blockieren? Falls ja, wie?

Eric March

Kenne die Vergangenheit. In der Unwissenheit über die Vergangenheit
liegt das Verderben der Zukunft.
"Die Geschichte ist der beste Lehrmeister - mit den unaufmerksamsten
Schülern." Indira Gandhi
 

Lesen sie die antworten

#1 Andreas Killer
22/07/2009 - 15:28 | Warnen spam
Eric March schrieb:

Kann man so ein AddIn wàhrend eines Makrolaufs rein grundsàtzlich
blockieren? Falls ja, wie?


Ja das geht, mit Trick 17 3/4.

Wenn Du eine neue Excel-Instanz via CreateObject erzeugst und dann
über dieses Object Dein Workbook làdst, dann werden keinerlei Add-In's
oder Dateien aus dem XLStart-Ordner geladen.

Andreas.

Sub Test()
Dim objExcel As Application
Dim objWorkBook As Workbook

'Ein neues Excel erzeugen
Set objExcel = CreateObject("Excel.Application")
'Anzeigen
objExcel.Visible = True
'Mappe öffnen
Set objWorkBook = objExcel.Workbooks.Open("Z:\Mappe1.xls")

'Mach sonstwas

'Schließen, Änderungen ignorieren
objWorkBook.Close False
'Objekte terminieren
Set objWorkBook = Nothing
'Excel schließen
objExcel.Quit
Set objExcel = Nothing
End Sub

Ähnliche fragen