Hallo,
ich habe ein kleiner Excel-Tool für meinen Chef gebastelt. Eigentlich funktioniert soweit alles ganz gut, jetzt habe ich aber noch ein letztes Problem, welches ich nicht in den Griff bekomme.
Mein Chef arbeitet mit seinem Laptop häufig lokal, weshalb ich ihm das Tool direkt auf die Festplatte gespeichert habe.
Da er aber gern auch seine Sekretärin an seinen neuen Eintragungen teilhaben lassen möchte wenn er am Netz ist, suche ich nach einer Möglichkeit, eine Schaltfläche mit einem Makro zu belegen, was die Datei sowohl lokal als auch auf einem definierten Ordner im Netz speichern soll.
Das habe ich mittels Makro auch schon ganz passabel hinbekommen. Nun habe ich allerdings noch folgende Probleme:
- Wenn er den Rechner lokal nutzt und den Button verwendet kommt eine Fehlermeldung, da das Makro ja auch versucht die Datei auf dem Netzlaufwerk abzulegen. Es wird dann immer eine Fehlermeldung angezeigt und die Auswahl gegeben entweder zu beenden oder in den Debug-Modus zu wechseln.
Gibt es ggf. eine Möglichkeit in der Funktion eine Art wenn-dann-Abfrage einzubauen, also nach dem Schema „prüfe, ob Netzlaufwerk verfügbar, wenn ja, speicher sowohl lokal als auch in Netz, wenn nicht, speicher nur lokal“.
Außerdem wäre es gut, wenn ich generell unterdrücken könnte, dass solche Fehlermeldungen bei meinem Chef angezeigt werden, da ich verhindern möchte, dass er sich versehentlich in den Debug-Modus verirrt.
- Ich nutze derzeit für die zuvor gennante Funktion die Saveas-Methode. Da aber die alte Datei noch existiert wird immer gefragt, ob man die exisitierende Datei wirklich überschreiben möchte. Kann man ggf. im Code direkt vorgeben, dass überschrieben wird und somit diese Abfrage nicht mehr auftaucht?
Ich hoffe ich konnte mein Anliegen halbwegs verständlich rüber bringen…
Ich danke euh schon im Voraus für eure Hilfe!
Viele Grüße
Martin
Zu 1.: Schau Dir einmal in der VBA-Hilfe den Befehl „On Error“ an. Wenn Du vor der Dateioperation „On Error Resume Next“ eingibst, wird der Fehler einfach ignoriert. Mit „On Error Goto DeineFehlerroutine“ kannst Du im Fehlerfall eigenen Code ansteuern, in dem Du z.B. die Art des Fehlers auswerten kannst (Err-Objekt).
Zu 2.: Verwende ActiveWorkbook.save statt saveas.
Gruß, Dennis
- Wenn er den Rechner lokal nutzt und den Button verwendet
kommt eine Fehlermeldung, da das Makro ja auch versucht die
Datei auf dem Netzlaufwerk abzulegen. Es wird dann immer eine
Fehlermeldung angezeigt und die Auswahl gegeben entweder zu
beenden oder in den Debug-Modus zu wechseln.
Gibt es ggf. eine Möglichkeit in der Funktion eine Art
wenn-dann-Abfrage einzubauen, also nach dem Schema „prüfe, ob
Netzlaufwerk verfügbar, wenn ja, speicher sowohl lokal als
auch in Netz, wenn nicht, speicher nur lokal“.
Außerdem wäre es gut, wenn ich generell unterdrücken könnte,
dass solche Fehlermeldungen bei meinem Chef angezeigt werden,
da ich verhindern möchte, dass er sich versehentlich in den
Debug-Modus verirrt.
- Ich nutze derzeit für die zuvor gennante Funktion die
Saveas-Methode. Da aber die alte Datei noch existiert wird
immer gefragt, ob man die exisitierende Datei wirklich
überschreiben möchte. Kann man ggf. im Code direkt vorgeben,
dass überschrieben wird und somit diese Abfrage nicht mehr
auftaucht?
Ich hoffe ich konnte mein Anliegen halbwegs verständlich rüber
bringen…
Ich danke euh schon im Voraus für eure Hilfe!
Viele Grüße
Martin
Guten Morgen Dennis,
also dein Tip zu 1. hat super funktioniert. Besten Dank!
Den Teil zu 2. hatte ich auch erst angedacht, aber wie kann ich dem Makro denn dann beibringen, dass er beide Dateien (also die Lokale und die auf dem Netzlaufwerk) speichert?
Viele Grüße
Martin
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Aha!
probier’s doch mal mit
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs
Application.DisplayAlerts = True
dann hast Du aber alle Sicherheiten ausgeschalten.
Alternativ kannst Du die gespeicherte Datei ja auch auf Dateisystemebene rumkopieren, geht mit
Shell(pathname[,windowstyle])
hilft das?
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Martin,
darf die Sekretärin Daten ändern, während der Chef weg ist? Dann müsstest du ja die Dateninhalte synchronisieren, was das ganze wohl erschweren dürfte.
Wenn nur der Chef ändern darf: Einfach bei ihm die Datei als „offline Verfügbar“ (Is doch MS oder nich?) machen und alles ist in Butter!
mfg
Dirk.Pegasus