Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
432to436
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
432to436
432to436
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Application.DisableCustomize

Application.DisableCustomize
23.05.2004 21:01:30
Matthias
Hallo Excel-Fans,
der Befehl
Application.CommandBars.DisableCustomize = True existiert erst ab Excel 10.
Ist es möglich, den Befehl in ein Makro unterzubringen, das auch unter Excel 9 (2000) lauffähig sein soll?
Excel 9 bringt den "Fehler beim Kompilieren: Methode oder Datenobjekt nicht gefunden". Ich hätte gerne, dass Excel 9 den Befehl einfach ignoriert.
Ein On Error Resume Next davor hilft leider nicht.
Oder muss ich wohl oder übel die Version abfragen und das Modul zur Laufzeit laden?
Gruß
Matthias

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Application.DisableCustomize
ransi
hallo matthias
wenn resume next nicht geht, versuch doch mal
on "on error goto sprungmarke".
könnte helfen.
AW: geht nicht,...
23.05.2004 21:21:17
Matthias
Hallo Ransi,
Danke für die Antwort.
Geht aber leider auch nicht.
Ist eigentlich kein Wunder, denn es ist ja kein Laufzeit-, sondern ein Kompilierungsfehler. Und On Error spricht ja nur auf erstere an.
Gruß Matthias
AW: Application.DisableCustomize
23.05.2004 21:22:59
Josef
Hallo Matthias!
Wenn ich die Anweisung direkt in "Select Case" schreibe,
dann motzt er bei mir auch.(xl9)
Aber so geht's.
Option Explicit

Sub test()
Select Case Application.Version
Case "10.0"
test2
Case Else
'deine Anweiseungen
End Select
End Sub

Sub test2()
Application.CommandBars.DisableCustomize = True
End Sub

Gruß Sepp
Anzeige
AW: Application.DisableCustomize
23.05.2004 21:33:06
Matthias
Hallo Josef,
Super, so einfach und genial!
Vielen Dank!
Was aber seltsam ist: Folgendes geht unter 2000:
On Error Resume Next
Application.ErrorCheckingOptions.NumberAsText = False
On Error GoTo 0
Also Fehler ohne "resume next"- Anweisung, kein Fehler mit.
Komisch, dass das gleiche mit DisableCustomize nicht geht, gell?
Viele Grüße,
Matthias
AW: Application.DisableCustomize
23.05.2004 21:43:01
Josef
Hallo Matthias!
Der Unterschied ist, das bei
Application.ErrorCheckingOptions.NumberAsText
das Objekt zwar vorhanden ist, die Methode aber nicht unterstützt wird. Bei
Application.CommandBars.DisableCustomize
fehlt das Objekt, und deshalb kommt die Fehlermeldung schon beim Kompilieren! Gruß Sepp
Anzeige
AW: Application.DisableCustomize
23.05.2004 21:51:40
Matthias
Hallo Josef,
Versteh' ich nicht.
Ist aber egal, Hauptsache, es funktioniert jetzt...
:-)
Gruß
Matthias
AW: Application.DisableCustomize
Reinhard
Hi Matthias,
aus googlen mit "disablecustomize site:www.herber.de" und der Hilfe zu bedingter Kompilierung zusammengesetzt:
Option Explicit
'#Const conTest = 1

Sub SelektiveAusführung()
Dim conTest As String
conTest = Application.Version
'MsgBox conTest
#If conTest = "10.0" Then
MsgBox "10"
Application.CommandBars.DisableCustomize = True
#Else
MsgBox "9"
#End If
End Sub

Gruß
Reinhard
AW: Application.DisableCustomize
23.05.2004 21:44:29
Matthias
Hallo Reinhard,
ich hab's auch schon mal mit bedingter Kompilierung versucht, bin aber nicht durchgestiegen. Dein Code bringt bei mir immer "9", egal ob mit Excel 2000 oder XP.
Aber Josef hat mir schon eine brauchbare Lösung geliefert.
Vielen Dank trotzdem!
Grüße,
Matthias
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige