Office: (Office 2013) Sicherheitskopie bei dynamischer Pfadwahl in definierten Ordner

Helfe beim Thema Sicherheitskopie bei dynamischer Pfadwahl in definierten Ordner in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo. Bei mir hapert´s an folgendem Problem : Ich bin Anfänger :-) Ich möchte mit einem Makro gerne folgendes erreichen, und habe es mir bis... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von John Doe, 31. August 2016.

  1. Sicherheitskopie bei dynamischer Pfadwahl in definierten Ordner


    Hallo.

    Bei mir hapert´s an folgendem Problem : Ich bin Anfänger :-)

    Ich möchte mit einem Makro gerne folgendes erreichen, und habe es mir bis jetzt schon einigermaßen hingebastelt.

    1. eine Kopie der geöffneten Arbeitsmappe OHNE das sich danach die Kopie öffnet (!)
    2. der Name der Kopie besteht aus : Datum und Uhrzeit der Erstellung UND der Originalname/-endung der Datei
    das funktioniert bis jetzt (siehe Makro unten).

    Die Kopie wird aber z.Zt. im selben Verzeichnis wie die Originaldatei abgelegt. DAS möchte ich ändern:

    1a. Es soll ein Unterordner im Verzeichnis der Originaldatei erstellt werden ("Sicherung")
    1b. Der Anwender soll aber auch die Möglichkeit haben, einen eigenen Speicherpfad für den Sicherungsordner zu Wählen (OHNE das sich danach die Kopie öffnet)
    2. In diesem Ordner soll danach die Sicherungskopie gespeichert werden

    3. ein Hinweisfenster soll sich während des Speicherns öffnen und den Speicherpfad anzeigen
    (Das Formular ist schon fertig, zeigt aber bis jetzt nur meinen Standardtext. Wie bekomme ich den Pfad in das Hinweisfenster? Das untere Makro enthält nicht den Text zum aufrufen des Formulars.)

    Ich habe schon einiges durchprobiert und bin nervlich schon leicht angespannt... ;-)

    Ich hoffe, mir kann jemand helfen.

    Danke.

    John Doe

    -----------------------------------------------------------------------------
    Sub DateiUnterTagesdatumAbspeichern()

    Dim Dateiname As String
    Dim Datum As String
    Dim Zeit As String

    Dateiname = ActiveWorkbook.Name
    Datum = Format(Now(), "(yyyy-mm-dd, ")
    Zeit = Format(Now(), "hh_mm")
    ThisWorkbook.SaveCopyAs Filename:=Datum & Zeit & ") " & Dateiname


    End Sub


    ----------------------------------------------------------------------------
     
    John Doe, 31. August 2016
    #1
  2. Icebreak3r Erfahrener User
    Morgen,

    Die Hilfefunktion zu SaveCopyAs liefert Erklärungen mit denen Du mit dem Problem zurecht kommen solltest:

    Wie du siehst kannst du in dem Filename auch den Pfad reinpacken.
    Wie Du den Pfad generierst kannst Du Dir selbst bestimmen.
    Willst du die variable angabe kannsts du das zB mit einer InputBox machen:

    Code:
    Sub CallVBA()
       Dim sTxt As String
       sTxt = InputBox("Bitte Eingabe tätigen:")
       If sTxt = "" Then Exit Sub
       MsgBox sTxt
    End Sub
    (http://www.herber.de/mailing/Beispiele_zum_Einsatz_der_InputBox.htm)


    Um den Speicherpfad anzuzeigen packe in einfach in eine Variable und lass ihn anzeigen.

    Edit:

    Noch schöner geht das ganze übrigens mit:

    Code:
    Dim Dateiname As String
    Dim Datum As String
    
    Dateiname = ActiveWorkbook.Name
    Datum = Format(Now(), "yyyy-mm-dd")
    MsgBox Application.GetSaveAsFilename(Dateiname & Datum, , , "test")
    Hier wird das gägnige Speicherunter Dialogfenster geöffnet und man kann Pfad, Name und Endung angebenen. Diese Funktion gibt das dann als string zurück, den Du für SaveCopyAs verwenden kannst. Guck dir am besten in der Excel Hilfe mal die Funktion an, dort sind auch die Variablen erklärt.

    Und Datum und Uhrzeit kannst du auch mit einer Code Zeile dir holen:

    Code:
    Datum = Format(Now(), "(yyyy-mm-dd, hh_mm)")
    
     
    Zuletzt bearbeitet: 1. September 2016
    Icebreak3r, 1. September 2016
    #2
  3. @Icebreak3r

    Vielen Dank für Deine schnelle Hilfe.

    Allerdings.....

    - Dein erstes Beispiel erfüllt leider nicht meine Anforderungen (Originalname auslesen, Datum zufügen..)
    - Im zweiten Beispiel muß der Anwender den Pfad kennen, und kann nicht suchen
    - das dritte Beispiel erinnert ein wenig (bis auf die MessageBox) an den Ursprungscode oben.

    - das vierte Beispiel werde ich übernehmen ;-)

    Ich habe inzwischen zwei Codes zum öffnen eines Suchfensters und Erstellung eines Ordners gefunden und bin seit Stunden dabei, die drei Codes zu "Fusionieren":
    ---------------------------------------
    ´öffnet ein Suchfenster:

    Sub ordnerauswahl()
    Dim AppShell As Object
    Dim BrowseDir As Variant
    Dim Pfad As String

    Set AppShell = CreateObject("Shell.Application")
    Set BrowseDir = AppShell.BrowseForFolder(0, "Ordner auswählen", &H1000, 17)
    On Error Resume Next
    Pfad = BrowseDir.items().Item().Path
    If Pfad = "" Then Exit Sub
    MsgBox Pfad
    On Error GoTo 0
    End Sub
    ----------------------------------------------------------------------

    Sub ordNerErstellen()

    Const paTh = "c:\temp\test\" ' Anpassen!

    On Error GoTo errorHandler

    With ActiveSheet.Cells(5, 3)
    If Dir(paTh & .Text, vbDirectory) = "" Then
    MkDir paTh & .Value
    Else
    MsgBox ("Verzeichnis exisitiert bereits")
    End If
    End With

    Exit Sub

    errorHandler:
    MsgBox ("Fehler beim Anlegen des Verzeichnisses.")

    End Sub
    -----------------------------------------------------------------------
     
    Zuletzt bearbeitet: 1. September 2016
    John Doe, 1. September 2016
    #3
  4. Icebreak3r Erfahrener User

    Sicherheitskopie bei dynamischer Pfadwahl in definierten Ordner

    Doch man all dies machen und der Variable hinzufügen:
    Code:
    ActiveWorkbook.SaveCopyAs "C:\" & VariablePfad & VariableName(zB Datum
    Da kann man beliebig den Namen und Pfad anpassen. Orginalname kriegst du ja mit
    Code:
    ActiveWorkbook.Name
    Korrekt.

    Im dritten Beispiel geht es hauptsächlich um
    Code:
    GetSaveAsFilename(Dateiname & Datum, , , "test")
    Was eine Funktion ist, die genau deiner Anfrage entspricht.
    Dateiname & Datum ist der als Standard vorgeschlagene Dateiname.
    "test" ist der Titel des Fensters.

    Damit meinst du das geänderte Format? Ja du hast ein wenig umständlich gemacht.

    Geht ziemlich einfach:
    Code:
    GetSaveAsFilename(Dateiname & Datum, , , "test")
    macht genau das, der User wählt einen Pfad aus, gibt einen Namen ein und klickt auf Speichern, was dazu führt, dass ein string mit Pfad und Name gesetzt wird. Daran kannst du noch das Datum und Urhzeit anhängen, wenn Du willst.
     
    Zuletzt bearbeitet: 1. September 2016
    Icebreak3r, 1. September 2016
    #4
  5. steve1da Office Guru
    steve1da, 1. September 2016
    #5
  6. Hi Icebreak3er.

    Vielen Dank für deine Erläuterungen und Beispiele (den letzten Code werde ich mal notieren).

    Ich muß mich erstmal bei Dir Entschuldigen, da ich gerade darauf hingewiesen wurde, dass ich dieses Thema in zwei Foren angerissen habe, ohne jeweils einen link zum anderen Forum zu machen. Tut mir leid. Ich bin nicht nur Excel-DAU sondern auch Foren-Newbie.

    Aber ich kann Dir sagen, dass Deine Mühen nicht umsonst waren, und ich das ein oder andere davon sicherlich noch verwenden werde.

    Vielen Dank.

    B Y E,
    John Doe
     
    John Doe, 1. September 2016
    #6
  7. Icebreak3r Erfahrener User
    Hey,

    Ja ich habe nur Denkanstöße gegeben, einmal aus zeitlichen Gründen und andererseit finde ich es gut, wenn Du selbst verstehst was du machst, bzw. dazu lernst.

    Entschuldigung angenommen, in den jeweiligen Forenregeln ist crossposting verboten, wie Du ja bestimmt mitbekommen hast.

    Viel Spaß noch mit Excel

    Gruß
     
    Icebreak3r, 2. September 2016
    #7
Thema:

Sicherheitskopie bei dynamischer Pfadwahl in definierten Ordner

Die Seite wird geladen...
  1. Sicherheitskopie bei dynamischer Pfadwahl in definierten Ordner - Similar Threads - Sicherheitskopie dynamischer Pfadwahl

  2. Dynamische Tabellen mit automatischer Aktualisierung

    in Microsoft Excel Hilfe
    Dynamische Tabellen mit automatischer Aktualisierung: Hallo in die Runde! Vorab schon mal vielen Dank für alle Mühen und die Hilfe! Ich habe folgendes Anliegen: Ich habe eine Geräteliste als Excel Datei mit einigen verschiedenen Tabellenblättern...
  3. (Excel) Dynamische Tabelle, VBA, fehlende Formatierung?

    in Microsoft Excel Hilfe
    (Excel) Dynamische Tabelle, VBA, fehlende Formatierung?: Liebe Experten, Gefilterte Daten sollen in ein Listobject übertragen werden. Für das Listobject habe ich ein Template angelegt, dass alle Formatierungen (u.a. bedingte Formatierung etc.) enthält....
  4. "dynamisches Bild" in Excel

    in Microsoft Excel Hilfe
    "dynamisches Bild" in Excel: Hallo Leute, ich verzweifele bald, ich versuche seit heute morgen es hinzubekommen (hab eine Beispieltabelle erzeugt auf die ich mich jetzt direkt beziehe), dass ich in der A2 Zelle per Dropdown...
  5. Dynamische Achsenskalierung aus Zelle

    in Microsoft Excel Hilfe
    Dynamische Achsenskalierung aus Zelle: Hallo zusammen! Ich suche nach einer Möglichkeit, die Grenze der Achsen eines Excel-Diagramms variabel zu machen, ohne dabei VBA einzusetzen. D.h.: es soll je eine Zelle geben, in die ich die...
  6. Automatische Sicherheitskopie

    in Microsoft Access Hilfe
    Automatische Sicherheitskopie: Hallo Zusammen, in unserer Redaktion sammeln wir Personendaten in einer Datenbank. Vor allem unsere Praktikanten sind mit Ergänzungen der Datensätze beschäftigt. Damit nun nicht durch einen...
  7. automatische Sicherheitskopie

    in Microsoft Excel Hilfe
    automatische Sicherheitskopie: Hey Community, hab ne Frage zu einem Makro: Sub auto_close() Dim Altname As String, Neuname As String, Pfad As String Pfad =...
  8. Automatische Sicherheitskopie mit Datum

    in Microsoft Excel Hilfe
    Automatische Sicherheitskopie mit Datum: Hallo, ich möchte für meine Excel Listen eine Automatische Sicherheitskopie erstellen lassen die immer gespeichert wird wenn etwas geändert wird. Also das eben die alte Version dann als...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden