<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>EXCEL - Sicherungskopie via VBA</title>
    <link>http://forum.geizhals.at/feed.jsp?id=388424</link>
    <description>Geizhals-Forum</description>
    <item>
      <title>Re(3): EXCEL - Sicherungskopie via VBA</title>
      <link>http://forum.geizhals.at/t388424,3088678.html#3088678</link>
      <description>Bitte schen:&lt;br&gt;&lt;br&gt;Public Sub Speichern_test()&lt;br&gt;Dim strPath As String, strFile As String, strMin As String, strBackup As String&lt;br&gt;Dim intCounter As Integer, intMax As Integer&lt;br&gt;Dim datMax As Date&lt;br&gt;Dim fso As Object&lt;br&gt;&lt;br&gt;intMax = 3 'maximale Anzahl an Backups&lt;br&gt;strBackup = "\backup" 'sub-Verzeichnis für Backups&lt;br&gt;&lt;br&gt;&lt;br&gt;datMax = Now 'Startwert für Überprüfung&lt;br&gt;ActiveWorkbook.Save 'Speichern&lt;br&gt;strFile = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) 'Dateiname&lt;br&gt;strPath = ActiveWorkbook.Path &amp; strBackup 'Backup-Pfad&lt;br&gt;If Dir(strPath, vbDirectory) = "" Then 'existiert backup-Pfad?&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MkDir (strPath) 'Nein -&gt; erstellen'&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ActiveWorkbook.SaveCopyAs strPath &amp; "\" &amp; strFile &amp; "_backup1.xls" 'zugleich backup speichern und fertig&lt;br&gt;Else&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;strPath = strPath &amp; "\" 'Pfad korrigieren&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For intCounter = 1 To intMax 'anzahl an Backups durchlaufen&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If Dir(strPath &amp; strFile &amp; "_backup" &amp; intCounter &amp; ".xls") &lt;&gt; "" Then 'Prüfen obs schon existiert&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set fso = CreateObject("Scripting.Filesystemobject") 'Zeiger erzeugen&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If fso.GetFile(strPath &amp; strFile &amp; "_backup" &amp; intCounter &amp; ".xls").DateLastModified &amp;lt; datMax Then 'Datei-Modified Datum auslesen und kleinstes suchen&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;datMax = fso.GetFile(strPath &amp; strFile &amp; "_backup" &amp; intCounter &amp; ".xls").DateLastModified&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;strMin = strPath &amp; strFile &amp; "_backup" &amp; intCounter &amp; ".xls"&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End If&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set fso = Nothing&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ActiveWorkbook.SaveCopyAs strPath &amp; strFile &amp; "_backup" &amp; intCounter &amp; ".xls" 'noch nicht maximale Anzahl an Backups, dann eine erzeugen&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit Sub&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End If&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next intCounter&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'Kill strMin 'alte löschen braucht man nicht wirklich&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ActiveWorkbook.SaveCopyAs strMin 'Backup speichern&lt;br&gt;End If&lt;br&gt;End Sub&lt;br/&gt;</description>
      <pubDate>Thu, 05 Jan 2006 14:02:40 GMT</pubDate>
      <guid>http://forum.geizhals.at/t388424,3088678.html#3088678</guid>
      <dc:creator>Penguin</dc:creator>
      <dc:date>2006-01-05T14:02:40Z</dc:date>
    </item>
    <item>
      <title>Re(3): EXCEL - Sicherungskopie via VBA</title>
      <link>http://forum.geizhals.at/t388424,3087756.html#3087756</link>
      <description>das einzige was mich ein bisschen an meiner Lösung nervt (die hab ich allerdings schon vor glaub ich 2 Jahren gemacht) ist dass sie immer FileSearch verwendet, was bei großen Ordnern langsam ist. Muss mir das direkt mal wieder anschauen.&lt;br/&gt;</description>
      <pubDate>Thu, 05 Jan 2006 11:11:47 GMT</pubDate>
      <guid>http://forum.geizhals.at/t388424,3087756.html#3087756</guid>
      <dc:creator>Penguin</dc:creator>
      <dc:date>2006-01-05T11:11:47Z</dc:date>
    </item>
    <item>
      <title>Re(2): EXCEL - Sicherungskopie via VBA</title>
      <link>http://forum.geizhals.at/t388424,3087647.html#3087647</link>
      <description>Hallo!&lt;br&gt;&lt;br&gt;Danke für deine (bessere) Lösung als die meinige!&lt;br&gt;&lt;br&gt;Ich habe in stümperhaften VBA mein Problem folgend gelöst:&lt;br&gt;&lt;hr/&gt;&lt;br&gt;&lt;br&gt;Sub DateiSpeichern()&lt;br&gt;Dim Nr%&lt;br&gt;Dim dName$&lt;br&gt;Dim Zielordner$, Dateiname$&lt;br&gt;&lt;br&gt;Zielordner = "p:\vorlagen\Sicherung\"&lt;br&gt;&lt;br&gt;Dateiname = Format(Now, "dd.mm.yyyy") &amp; "_Sicherung"&lt;br&gt;&lt;br&gt;dName = Zielordner &amp; Dateiname &amp; ".ini"&lt;br&gt;&lt;br&gt;Close&lt;br&gt;&lt;br&gt;On Error Resume Next&lt;br&gt;Open dName For Input As #1&lt;br&gt;If Err &gt; 0 Then&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Nr = 1&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Close&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Open dName For Output As #1&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Print #1, Format(Nr, "00#")&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Close&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit Sub&lt;br&gt;Else&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Input #1, Nr&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Close&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Open dName For Output As #1&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Print #1, Format(Nr + 1, "00#")&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Close&lt;br&gt;End If&lt;br&gt;Application.DisplayAlerts = False&lt;br&gt;ActiveWorkbook.SaveAs Filename:=Zielordner &amp; Dateiname &amp; Nr &amp; ".xls"&lt;br&gt;Application.DisplayAlerts = True&lt;br&gt;Application.DisplayAlerts = False&lt;br&gt;ActiveWorkbook.SaveAs Filename:=("p:\statistik\SG-Kartei und Statistik " &amp; Format(Now, "yyyy") &amp; ".xls")&lt;br&gt;Application.DisplayAlerts = True&lt;br&gt;&lt;br&gt;If MsgBox("Die Datei sowie die Sicherungskopie wurde ordnungsgemäß gespeichert!", vbInformation + vbOKOnly, "....gespeichert!") = vbOK Then Exit Sub&lt;br&gt;&lt;br&gt;&lt;hr/&gt;&lt;br&gt;&lt;br&gt;Ist zwar auch nicht schlecht &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";-)"/&gt;&amp;nbsp;&amp;nbsp;aber ich werde deine Variante nehmen, da diese eine definierbare Menge an Sicherungen zulässt und obendrein sauber programmiert ist |-)&lt;br&gt;&lt;br&gt;Nochmals danke!&lt;br&gt;&lt;br&gt;lG, SunnyHill&lt;br/&gt;</description>
      <pubDate>Thu, 05 Jan 2006 10:49:34 GMT</pubDate>
      <guid>http://forum.geizhals.at/t388424,3087647.html#3087647</guid>
      <dc:creator>SunnyHill</dc:creator>
      <dc:date>2006-01-05T10:49:34Z</dc:date>
    </item>
    <item>
      <title>Re: EXCEL - Sicherungskopie via VBA</title>
      <link>http://forum.geizhals.at/t388424,3087523.html#3087523</link>
      <description>hier der Code, im Personal Workbook speichern und dann einen Knopf hinzufügen (so hab ichs gemacht):&lt;br&gt;&lt;br&gt;Public Sub Speichern()&lt;br&gt;Dim strPath As String, strFile As String&lt;br&gt;Dim arrfiles As Variant&lt;br&gt;Dim intCounter As Integer, intMax As Integer, intCount As Integer, intTmp As Integer&lt;br&gt;Dim datMax As Date&lt;br&gt;&lt;br&gt;strFile = Mid(ActiveWorkbook.Name, 1, Len(ActiveWorkbook.Name) - 4)&lt;br&gt;strPath = ActiveWorkbook.path &amp; "\" &amp; strFile &amp; "_temp"&lt;br&gt;If Dir(strPath, vbDirectory) = "" Then&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MkDir (strPath)&lt;br&gt;End If&lt;br&gt;strPath = strPath &amp; "\"&lt;br&gt;&lt;br&gt;With Application.FileSearch&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.NewSearch&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.LookIn = strPath&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.FileName = "*" &amp; strFile &amp; "*.xls"&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Execute msoSortByLastModified, msoSortOrderAscending&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If .FoundFiles.Count = 3 Then&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;intTmp = Mid(.FoundFiles.Item(1), Len(.FoundFiles.Item(1)) - 5, 1)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Kill (.FoundFiles.Item(1))&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.StatusBar = "Datei wird als " &amp; strPath &amp; strFile &amp; intTmp &amp; ".xls gespeichert"&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ActiveWorkbook.SaveCopyAs (strPath &amp; strFile &amp; intTmp &amp; ".xls")&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.StatusBar = ""&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ElseIf .FoundFiles.Count = 0 Then&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.StatusBar = "Datei wird als " &amp; strPath &amp; strFile &amp; 1 &amp; ".xls gespeichert..."&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ActiveWorkbook.SaveCopyAs (strPath &amp; strFile &amp; 1 &amp; ".xls")&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.StatusBar = ""&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;intTmp = (Mid(.FoundFiles.Item(.FoundFiles.Count), Len(.FoundFiles.Item(.FoundFiles.Count)) - 4, 1)) + 1&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.StatusBar = "Datei wird als " &amp; strPath &amp; strFile &amp; intTmp &amp; ".xls gespeichert..."&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ActiveWorkbook.SaveCopyAs (strPath &amp; strFile &amp; intTmp &amp; ".xls")&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.StatusBar = ""&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End If&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br&gt;End With&lt;br&gt;ActiveWorkbook.Save&lt;br&gt;End Sub&lt;br&gt;&lt;br&gt;Ich habs noch so gemacht dass immer nur max. 3 Sicherungskopien aufgehoben werden.&lt;br/&gt;</description>
      <pubDate>Thu, 05 Jan 2006 10:21:17 GMT</pubDate>
      <guid>http://forum.geizhals.at/t388424,3087523.html#3087523</guid>
      <dc:creator>Penguin</dc:creator>
      <dc:date>2006-01-05T10:21:17Z</dc:date>
    </item>
    <item>
      <title>Re: EXCEL - Sicherungskopie via VBA</title>
      <link>http://forum.geizhals.at/t388424,3087225.html#3087225</link>
      <description>Hi &lt;img src="schief.gif" width="16" height="19" align="absmiddle" alt=":-/"/&gt;&lt;br&gt;&lt;br&gt;Ich wollte nur mal sagen, dass ich es nun doch geschafft habe....&lt;br&gt;&lt;br&gt;thx, SunnyHill.&lt;br/&gt;</description>
      <pubDate>Thu, 05 Jan 2006 08:18:27 GMT</pubDate>
      <guid>http://forum.geizhals.at/t388424,3087225.html#3087225</guid>
      <dc:creator>SunnyHill</dc:creator>
      <dc:date>2006-01-05T08:18:27Z</dc:date>
    </item>
    <item>
      <title>EXCEL - Sicherungskopie via VBA</title>
      <link>http://forum.geizhals.at/t388424,3085652.html#3085652</link>
      <description>Hallo!&lt;br&gt;&lt;br&gt;Ich würde gerne eine Excel-Mappe per Makro dazu bewegen lassen, dass diese Mappe zusätzlich zum Stammverzeichnis auch noch in ein anderes Verzeichnis gespeichert wird. Also eine Sicherungskopie &lt;img src="smile.gif" width="16" height="19" align="absmiddle" alt=":-)"/&gt; &lt;br&gt;Bis dato habe ich diese jedoch noch nicht geschafft....vielleicht kann mir jemand helfen?&lt;br&gt;&lt;br&gt;lG und thx&lt;br&gt;&lt;br&gt;SunnyHill&lt;br/&gt;</description>
      <pubDate>Wed, 04 Jan 2006 16:27:13 GMT</pubDate>
      <guid>http://forum.geizhals.at/t388424,3085652.html#3085652</guid>
      <dc:creator>SunnyHill</dc:creator>
      <dc:date>2006-01-04T16:27:13Z</dc:date>
    </item>
  </channel>
</rss>
