VBA Excel: Sub FileSaveAs() - Überschreibt die Methode nicht
Hallo zusammen,
habe ein VBA-Projekt (Excel 2002 Deutsch) in dem ich die Methode
Sub FileSaveAs()
...
...
End Sub
einfüge, um zu bestimmen was passieren soll, wenn ich auf "Datei/Speichern unter" klicke. Hab schon sehr intensiv gegoogelt und irgendwie funktioniert das bei allen einwandfrei nur bei mir nicht.
Bei mir kommt weiterhin der ganz "normale" Speichern-Unter Dialog. Habe folgendes ausprobiert:
Sub FileSaveAs()
MsgBox "Test"
End Sub
Public Sub FileSaveAs()
MsgBox "Test"
End Sub
Hab auch schon "Sub DateiSpeichernUnter()" versucht, nichts geht. Er öffnet immer den Standard-Dialog.
Habe in dem Projekt ein Modul in dem ich diese Methode neu definiere...
Kann mir jemand helfen?
Vielen Dank im Voraus )
MFG
Tom
habe ein VBA-Projekt (Excel 2002 Deutsch) in dem ich die Methode
Sub FileSaveAs()
...
...
End Sub
einfüge, um zu bestimmen was passieren soll, wenn ich auf "Datei/Speichern unter" klicke. Hab schon sehr intensiv gegoogelt und irgendwie funktioniert das bei allen einwandfrei nur bei mir nicht.
Bei mir kommt weiterhin der ganz "normale" Speichern-Unter Dialog. Habe folgendes ausprobiert:
Sub FileSaveAs()
MsgBox "Test"
End Sub
Public Sub FileSaveAs()
MsgBox "Test"
End Sub
Hab auch schon "Sub DateiSpeichernUnter()" versucht, nichts geht. Er öffnet immer den Standard-Dialog.
Habe in dem Projekt ein Modul in dem ich diese Methode neu definiere...
Kann mir jemand helfen?
Vielen Dank im Voraus )
MFG
Tom
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 53517
Url: https://administrator.de/contentid/53517
Ausgedruckt am: 16.11.2024 um 07:11 Uhr
11 Kommentare
Neuester Kommentar
Moin Interspirit,
tjy, so schonend wie möglich:
Obwohl VBA aus dem Hause des sympathischen Weltmarktführers höchstselbst kommt, ist es nicht so ganz richtig objektorientiert, klassen- und methodentauglich.
Das Geraffel, was dort hinterlegt werden kann, sind halt letzten Endes Funktionen und Prozeduren, wie man/frau das halt von einem BASIC-Enkel erwarten kann.
Als nix mit vererbten oder überschriebenen Methoden.
Vielleicht unter 512-Bit-Architektur mal.... aber jetzt nicht.
-->Konsequenz:
Entweder diese Function MyFileSaveAs() nenne und auch so aufrufen, oder, wenn sie denn auch nostalgischen oder ästhetischen Gründen FileSaveAs() heißen soll, dann beim Aufruf den Präfix "Modul1." (oder wo sie drin ist) voranstellen.
Gruss
Biber
tjy, so schonend wie möglich:
Obwohl VBA aus dem Hause des sympathischen Weltmarktführers höchstselbst kommt, ist es nicht so ganz richtig objektorientiert, klassen- und methodentauglich.
Das Geraffel, was dort hinterlegt werden kann, sind halt letzten Endes Funktionen und Prozeduren, wie man/frau das halt von einem BASIC-Enkel erwarten kann.
Als nix mit vererbten oder überschriebenen Methoden.
Vielleicht unter 512-Bit-Architektur mal.... aber jetzt nicht.
-->Konsequenz:
Entweder diese Function MyFileSaveAs() nenne und auch so aufrufen, oder, wenn sie denn auch nostalgischen oder ästhetischen Gründen FileSaveAs() heißen soll, dann beim Aufruf den Präfix "Modul1." (oder wo sie drin ist) voranstellen.
Gruss
Biber
Nein, Du verstehst mich schon richtig.
Dann wäre der (theoretische) Weg IMHO:
Um zu verhindern, dass die Funktion/"Methode" FileSaveAs() aus dem Modul "Visual Basic for Applications" als erstes, als Standard aufgerufen wird, müsste unter Extras->Verweise als allerallererstes ein Modul angegeben sein, das eine Function FileSaveAs() mit den gleichen Aufrufkonventionen enthält.
Ist zwar auch kein Hexenwerk, aber im Verhältnis doch so aufwändig, dass ich mir die Aufwand/Nutzen-Relation noch mal in Ruhe angucken würde.
[Ist aber nur mein Kenntnisstand - vielleicht geht es auch vieeeeeeeeeeel stressärmer. Weitere Kommentare abwarten.]
Gruss
Biber
Das Problem ist nur, ich rufe die Funktion gar nicht explizit auf
Dann ist es schwierig....Dann wäre der (theoretische) Weg IMHO:
Um zu verhindern, dass die Funktion/"Methode" FileSaveAs() aus dem Modul "Visual Basic for Applications" als erstes, als Standard aufgerufen wird, müsste unter Extras->Verweise als allerallererstes ein Modul angegeben sein, das eine Function FileSaveAs() mit den gleichen Aufrufkonventionen enthält.
Ist zwar auch kein Hexenwerk, aber im Verhältnis doch so aufwändig, dass ich mir die Aufwand/Nutzen-Relation noch mal in Ruhe angucken würde.
[Ist aber nur mein Kenntnisstand - vielleicht geht es auch vieeeeeeeeeeel stressärmer. Weitere Kommentare abwarten.]
Gruss
Biber