Anzeige
Archiv - Navigation
196to200
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
196to200
196to200
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Backup erstellen - nur wie?

Backup erstellen - nur wie?
07.01.2003 11:20:59
Dani
Also ich habe folgendes Problem:
Ich möchte per VBA ein Backup erstellen von einem kompletten Ordner (+Unterordner)...
Dieses Backup wird manuell vom User angestossen und dabei soll dem User die Möglichkeit gegeben werden das Zielverzeichnis selbst zu bestimmen, und genau da liegt der Knackpunkt - wie kann ich dem User am beste "ala" Windows Explorer die Möglichkeit geben das Zielverzeichnis zu wählen???

Per Pfadangabe wärs kein Problem, dann würde ich diese Pfadangabe in den VBA-Code reinbasteln und die Files speichern; aber wie kann ich dem User so einen "Speichern unter"-Dialog zur Verfügung stellen und mit meinem ganzen Ordner verknüpfen??

Bzw. würde es ja reichen wenn der User über den Explorer einen Ordner aussucht und ich diesen Pfad irgendwie in einer String-Variable reinkriegen könnte...

Danke schonmal
Dani

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Backup erstellen - nur wie?
07.01.2003 11:23:17
Hajo_Zi
Hallo Dani


Option Explicit
Public Type BROWSEINFO
hOwner As Long
pidlRoot As Long
pszDisplayName As String
lpszTitle As String
ulFlags As Long
lpfn As Long
lParam As Long
iImage As Long
End Type
'32-bit API-Deklarationen

Declare Function SHGetPathFromIDList _
Lib "shell32.dll" Alias "SHGetPathFromIDListA" _
(ByVal pidl As Long, ByVal pszPath As String) As Long

Declare Function SHBrowseForFolder Lib "shell32.dll" _
Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long


Sub VerzeichnisauswahlStarten()
Dim strMessage As String
strMessage = "Wählen Sie bitte einen Ordner aus:"
MsgBox GetDirectory(strMessage)
End Sub

Function GetDirectory(Optional strMessage) As String
Dim bInfo As BROWSEINFO
Dim strPath As String
Dim lngR As Long, lngX As Long, intPos As Integer
' Ausgangsordner = Desktop
bInfo.pidlRoot = 0&
' Dialogtitel
If IsMissing(strMessage) Then
bInfo.lpszTitle = "Wählen Sie bitte einen Ordner aus."
Else
bInfo.lpszTitle = strMessage
End If
' Rückgabe des Unterverzeichnisses
bInfo.ulFlags = &H1
' Dialog anzeigen
lngX = SHBrowseForFolder(bInfo)
' Ergebnis gliedern
strPath = Space$(512)
lngR = SHGetPathFromIDList(ByVal lngX, ByVal strPath)
If lngR Then
intPos = InStr(strPath, Chr$(0))
GetDirectory = Left(strPath, intPos - 1)
Else
GetDirectory = ""
End If
End Function
'Ab XL2002 / Xp:

Sub VerzAuswahl()
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFolderPicker)
If fd.Show = -1 Then
MsgBox fd.SelectedItems(1)
End If
End Sub
'von Frank Arendt-Theilen (NG)

Code eingefügt mit: Excel Code Jeanie

Code Jeanie
Frage
Das Umsetzen nach Html klappt perfekt, auch die Ansicht in den Foren ist gegeben. Bei manchen Foren kann man aber anscheinend nicht den dargestellten Code nach VBA rückkopieren. Warum?
Antwort
Dies liegt nicht an der Code Jeanie !!! Manche Foren interpretieren anscheinend < pre > < /pre > Tags nicht richtig und erzeugen am Zeilenende einen weichen Zeilenumbruch anstatt eines harten Zeilenumbruches. Dies führt dazu, dass im VBA-Editor die Zeilen hintereinander geschrieben werden. Zum Rückkopieren in solchen Fällen: Fügen Sie den kopierten Code aus dem Forum nach Word ein, kopieren Sie ihn dort wieder und fügen Sie ihn dann im VBA - Editor ein


Gruß Hajo

Anzeige
Re: Backup erstellen - nur wie?
07.01.2003 12:42:12
Dani
Ahhhhh sehr schicke Variante!!!!
Danke!!!

Dani

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige