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

Basic

Excel VBA enthält

Frage von AngelsBasic

Guten Tag Ich bin ganz neu in diesem Forum und hätte eine Frage. Wie kann ich bei diesem bestehenden ...

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

Neue Wissensbeiträge
Erkennung und -Abwehr

Neue Sicherheitslücke Foreshadow (L1TF) gefährdet fast alle Intel-Prozessoren

Information von Frank vor 15 StundenErkennung und -Abwehr1 Kommentar

Eine neue Sicherheitslücke, genannt Foreshadow (alias L1TF) wurde auf der Usenix Security 18 von einem Team internationaler Experten veröffentlicht. ...

Vmware
VMware Updates gegen L1 Lücke
Information von sabines vor 22 StundenVmware

Für die Vmware Produkte vCenter Server, ESXi, Workstation und Fusion stehe Updates bereit um die L1 Lücke zu schließen. ...

Drucker und Scanner
HP-MF-Drucker per Fax angreifbsr
Information von Lochkartenstanzer vor 2 TagenDrucker und Scanner3 Kommentare

Endlich eine sinnvolle Verwendung für Faxe: Damit kann man offensichtlich den Drucker übernehmen. lks

Router & Routing

Das pfSense Buch ist jetzt für jeden kostenlos zu beziehen

Tipp von magicteddy vor 3 TagenRouter & Routing2 Kommentare

Bisher war das Buch nur für zahlende Unterstützer verfügbar, jetzt steht für Jedermann kostenlos zur Verfügung. Siehe auch The ...

Heiß diskutierte Inhalte
Microsoft
VPN Verbindung kann nicht aufgebaut werden
Frage von AlexderITlerMicrosoft35 Kommentare

Hallo, Ich möchte an einem unserer PCs in unserer Tochterfirma eine VPN zu unserem Netzwerk einrichten. Das schlägt allerdings ...

Windows Server
Domäne einsilbig mit nur einem Namen benannt - sowie AD und MX auf einer VM Kardinalsfehler?
Frage von TomTestWindows Server27 Kommentare

Hallo liebe Freunde gepflegter Probleme, seit kurzem soll ich eine Domäne verwalten die zuvor von einem IT-Dienstleister erstellt und ...

Datenbanken
MySQL Datenbank Import Aufgabe für mehrere .csv dateien
gelöst Frage von Marcel1989Datenbanken19 Kommentare

Hi, ich komm nicht weiter. Ich hab auf einem Windows Server 2012 r2 eine MariaDB/MySQL laufen. Nun soll diese ...

DNS
Gibt es eine Art DNS Proxy?
Frage von icepietDNS15 Kommentare

Hallo Nerds, Ich würde gerne folgendes machen: ts.domain.de:3389 soll auf 1.2.3.4:3389 auflösen ts2.domain.de:3389 soll auf 1.2.3.4:3390 auflösen Gibt es ...