Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1220to1224
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Warnung beim Öffnen von 2007-XLSX unterdrücken

Warnung beim Öffnen von 2007-XLSX unterdrücken
2007-XLSX
Hi, ich setze win XP und windows 2003 ein, inklusive Kompatibilitätspack für 2007. Per VBA öffne ich XLSX-Dateien. Dabei kommt jedes mal die Meldung:
Diese Datei wurde in einer neueren Version von Microsoft Excel erstellt. Die Datei wurde in ein Format konvertiert blablabla.
Meine Frage ist: Kann ich die Warnung ausschalten, die stört den Makrofluss erheblich. Für DocX habe ich was gefunden:
CreateNewKey "Software\Microsoft\Office\12.0\Word\Options", HKEY_CURRENT_USER
SetKeyValue HKEY_CURRENT_USER, "Software\Microsoft\Office\12.0\Word\Options", "NoShowCnvMsg", 1, REG_DWORD
Für Excel geht das aber nicht (habe natürlich Word durch Excel im Reg-Key ersetzt). Weiß jemand, wie ich die Warnung ausschalten kann?
Viele Grüße
Norman

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Warnung habe ich, VBA Code geht aber nicht weiter
25.07.2011 18:57:37
Norman
Bin doof. geht mit Application.DisplayAlerts = False
Aaaaber, jetzt gleich das nächste Problem ((Bitte bedenken, dass es hier um eine XLSX in Excel 2003 mit Conversion Pack geht):
Wenn ich diese Zeile ausführe:
Set oxlwbook = ThisWorkbook.Application.Workbooks.Open("C:\MeineXLSX.XLSX", False, True, , , , True, , , True, False, , False)
wird die Datei korrekt geladen, aber der darauf folgende VBA-Code wird nicht mehr ausgeführt. Ich habe das auch mal mit Excel2007 getestet, da geht es ganz normal weiter im Code, nur irgendwie nicht beim Conversionpack. Habt Ihr eine Idee?
Vielen Dank
Norman
Anzeige
vielleicht nur mal so als Idee ...
25.07.2011 19:34:45
Matthias
Hallo
Frage doch die Version ab, mit Application.Version
XL2007 gibt ja 12.0 zurück,
XL2003 gibt einen anderen String zurück
Je nach Rückgabestring kannst Du dann verschiedesne Codes ausführen
Gruß Matthias
falsch verstanden, sorry - wieder offen
25.07.2011 19:55:47
Matthias
AW: Warnung habe ich, VBA Code geht aber nicht weiter
25.07.2011 20:28:39
fcs
Hallo Norman,
es gibt in Excel 2007 ja etliche Neuerungen/Erweiterungen, die Excel 2003 nicht kennt.
Wenn solche Methoden/Eigenschaften im VBA-Code integriert sind, dann steigt das entsprechende Makro unter Excel 2003 natürlich aus und bricht mit einer Fehlermeldung ab. Oder wenn die "beliebte" Anweisung "On Error Resume Next" verwendet wird, dann steigt das Makro nach dem 1. Fehler ohne weitere Hinweise aus.
Evtl. steht in der Zeile nach dem Öffnen ja irgendetwas, was Excel 2003 nicht versteht/kann.
In deiner Open-Anweisung ist der Parameter "Editable" auf True gesetzt. das ist relativ ungewöhnlich. Der Standardwert ist False. Der Wert True ist bei neueren Excelversionen eigentlich nur noch relevant, wenn man Vorlagedateien zum Bearbeiten per Makro öffnen will.
Gruß
Franz
Anzeige
Es ist kein On Resume bug, Open kehrt nicht zurück
26.07.2011 06:56:47
Norman
Hi Franz,
ich verstehe, was Du meinst, aber daran liegt es nicht. Ich bin mit F8 drübergesteppt und er schafft es gar nicht bis in die Zeile danach, die Datei wird noch geladen aber er kommt aus dem Open nicht zurück.
Wegen editable: Das ist korrekt, ich muss auch Vorlagendateien öffnen können, insofern ist editable hier richtig.
Kann keiner das Phänomen nachvollziehen?
Viele Grüße
Norman
Editable produziert das Verhalten
26.07.2011 08:57:53
Norman
Hi Franz, hi alle,
komisch Franz, Du hast den richtigen Riecher gehabt. Wenn ich editable auf false setze läuft es ganz normal weiter, wenn ich den Parameter auf True setze wird der VBA-Code nicht weiter ausgeführt ?!?!? Tolle Wurst.
Microsoft sagt zu editable: Optionaler Variant-Wert. Wenn die Datei ein Microsoft Excel 4.0-Add-In ist, wird das Add-In als sichtbares Fenster geöffnet, falls das Argument den Wert True hat. Wenn das Argument den Wert False hat oder ausgelassen ist, wird das Add-In ausgeblendet geöffnet, und es ist auch nicht möglich, es einzublenden. Diese Option gilt nicht für Add-Ins, die in Microsoft Excel, Version 5.0 oder höher, erzeugt wurden. Wenn die Datei eine Excel-Vorlage ist, wird durch Angabe von True die angegebene Vorlage zur Bearbeitung geöffnet und durch die Angabe von False eine neue Arbeitsmappe auf der Grundlage der angegebenen Vorlage geöffnet. Die Standardangabe lautet False.
Ich hatte das so verstanden, dass ich, wenn ich eine XLT öffnen will, hier TRUE für editable eingeben muss (so stehts zumindest da). Ich werde den Code jetzt mal so ändern, dass er prüft ob es eine XLT ist und nur dann mit TRUE arbeitet. Bin mal gespannt, was dann passiert, wenn ich eine 2007er XLT lade... Melde mich dazu noch mal...
Falls jemand noch ne Idee hat bin ich dafür dankbar :)
Viele Grüße
Norman
Anzeige
Damit wäre das geklärt...
26.07.2011 09:36:12
Norman
Also, es verhält sich wie folgt:
Wenn man 2007er xltx lädt muss editable auch false sein, es wird dann trotzdem als XLTX geöffnet und keine XLSX daraus gemacht. Code ist jetzt so umgebaut, dass nur noch XLT mit editable = true geladen werden, alle anderen mit false. Sieht so aus als gehts jetzt :)
Grüße
Norman

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige