Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

VBA Excel: Sub FileSaveAs() - Überschreibt die Methode nicht

Mitglied: Interspirit

Interspirit (Level 1) - Jetzt verbinden

08.03.2007, aktualisiert 09.03.2007, 10361 Aufrufe, 11 Kommentare

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
Mitglied: Diskilla
08.03.2007 um 09:27 Uhr
Ähm.....
Vielleicht solltest du erklären was du ANSTATT des "normalen" Speichern unter Dialogs willst. Für mich sieht das nämlich so aus, dass du genau den aufrufst und sonst nix.
Gib doch ma bitte nen Tip
Bitte warten ..
Mitglied: Interspirit
08.03.2007 um 09:39 Uhr
Hi du...
Danke für deine Antwort!

Nein, will einen Wert vorgeben, wie die zu speichernde Datei heißen soll

Sub FileSaveAs()

With Dialogs(wdDialogFileSaveAs)
.Name = "xxx.xls"
.Format = wdFormatDocument
.Show
End With

End Sub

Hilft dir das weiter?
Bitte warten ..
Mitglied: Biber
08.03.2007 um 10:14 Uhr
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
Bitte warten ..
Mitglied: Interspirit
08.03.2007 um 10:43 Uhr

-->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.


Hallo,

danke für deine Antwort!

Du meinst quasi ich soll die Funktion FileSaveAs so aufrufen?

Modul1.FileSaveAs() ??

Das Problem ist nur, ich rufe die Funktion gar nicht explizit auf. Sie wird ja automatisch ausgeführt sobald ich auf Speichern-Unter klicke...

Oder verstehe ich dich jetzt falsch?!
Bitte warten ..
Mitglied: Biber
08.03.2007 um 10:51 Uhr
Nein, Du verstehst mich schon richtig.
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
Bitte warten ..
Mitglied: Biber
08.03.2007 um 10:51 Uhr
--
Bitte warten ..
Mitglied: Interspirit
08.03.2007 um 10:59 Uhr
Der Clou ist ja dass es die Funktion "FileSaveAs" schon gibt.
Diese wird aufgerufen wenn ich "Datei/'Speichern Unter" klicke. In dieser Funktion wird dann dieser Speichern-Dialog aufgerufen.

Wenn ich diese Funktion neu definiere (genau der Name wie es sie schon gibt) wird sie überschrieben und meine Funktion ausgeführt.

Nun ja, hab wie gesagt schon intensiv gegoogelt und es gibt haufenweise menschen die das so praktizieren. Bei mir funktionierts eben nicht.

Vielleicht hab ich die Funktion an falscher Stelle definiert?! (Das war mein erster Gedanke)
Weiß aber nicht wo ich das sonst definieren sollte... Hmmm
Menno
Bitte warten ..
Mitglied: bastla
08.03.2007 um 14:38 Uhr
Hallo Interspirit!

Anscheinend hat das schon einmal jemand geschafft - siehe hier ...

Grüße
bastla
Bitte warten ..
Mitglied: Biber
08.03.2007 um 15:12 Uhr
@bastla

Das ist allerdings viel einfacher, als ich befürchtet hatte.
Wieder was gelernt...

Gruss
Biber
Bitte warten ..
Mitglied: bastla
08.03.2007 um 15:15 Uhr
@Biber

Ich kannte das bisher auch nur für Word ...

Grüße
bastla
Bitte warten ..
Mitglied: Interspirit
09.03.2007 um 13:10 Uhr
Hallo Bastla,

vielen Dank für deinen Hinweis - werd das dann doch gleich mal testen!
Da hätt ich ewig in die falsche Richtung gesucht!

Merci nochmal )
Bitte warten ..
Ähnliche Inhalte
Microsoft Office

Excel Marko "private sub" bearbeiten

gelöst Frage von ArnoNymousMicrosoft Office2 Kommentare

Hallo, ich stehe auf dem Schlauch. Habe hier eine Exceltabelle mit einem Makro, dass mittels "private sub" nicht sichtbar ...

VB for Applications

VBA Modul ruft Public Sub in Userform auf

gelöst Frage von aivilonVB for Applications15 Kommentare

Moin zusammen Wieder mal ein doofes Problem Ich hab eine Userform mit viel Code und dieser Code greift auf ...

Microsoft Office

Excel VBA Wert hochzählen

gelöst Frage von Florian86Microsoft Office1 Kommentar

Hallo, ich habe im VBA Code folgendes stehen Range("E10") = Range("E10") + 1 Jetzt ist der Wert bei schon ...

Microsoft Office

Unterordner durchsuchen Excel VBA

Frage von schwalbepilotMicrosoft Office1 Kommentar

Hi, ich habe mir ein Makro gebastelt, mit dem ich Daten aus mehreren Word Tabellen auslesen kann. Das Makro ...

Neue Wissensbeiträge
Ausbildung

Linux-Ausstieg in Niedersachsen - Windows statt Bugfix

Information von StefanKittel vor 2 TagenAusbildung35 Kommentare

Sind ja nur Steuergelder

Speicherkarten

Neuer Speicherkartentyp - zunächst nur für Huawei-Smartphones (künftig auch für Notebooks u. Tablets?)

Tipp von VGem-e vor 4 TagenSpeicherkarten5 Kommentare

Servus, als ob das "Chaos" i.S. Speicherkarten noch nicht groß genug wäre?! Evtl. kommt dieser neue Kartentyp bald auch ...

Sicherheit

Diverse D-Link-Router durch drei Schwachstellen kompromittierbar

Information von kgborn vor 4 TagenSicherheit1 Kommentar

Hat jemand D-Link-Router in Verwendung? Einige Modelle sind sicherheitstechnisch offen wie ein Scheunentor. Äußerst unschöne Sache, aber nichts neues ...

Hardware

100.000 Mikrotik-Router ungefragt von Hacker abgesichert

Information von 7Gizmo7 vor 4 TagenHardware4 Kommentare

Hallo zusammen, da hier ja öfters mal von Mikrotik gesprochen wird. Trotz Updates klafft eine Sicherheitslücke in Hundertausenden Mikrotik-Routern. ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Passwortwechsel Zeitpunkt festlegen
Frage von Looser27Windows Userverwaltung27 Kommentare

Guten Morgen liebe Kolleginnen und Kollegen, da es eine Userin in meinem Urlaub geschafft hat, sich vom AD vollständig ...

Windows Server
Probleme im AD am Außenstandort
gelöst Frage von emeriksWindows Server19 Kommentare

Hi, wir haben ein Problem mit AD und GPO am Außenstandort und ich stehe momentan mächtig auf dem Schlauch. ...

Windows 10
Windows 10 Spracherkennung - Eure Meinungen?
Frage von honeybeeWindows 1014 Kommentare

Hallo, wollte heute mal aus Neugier die Spracherkennung unter Windows 10 (Version 1803) ausprobieren und war mehr wie enttäuscht. ...

Switche und Hubs
POE-Switche
gelöst Frage von MiStSwitche und Hubs13 Kommentare

Guten Morgen, ich überlege ob ich in unserem Netzwerk die aktuellen Switche (D-LINK DGS-1210-28) durch PoE-Switche ersetzen soll. Der ...