Live-Forum - Die aktuellen Beiträge
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

Pfad auswählen für speichern

Pfad auswählen für speichern
07.01.2003 07:36:51
Michael B.
Moin, Moin!

Ich möchte dem Anwender die Möglichkeit geben die Datei zu speichern und dabei vorher noch den Pfad auszuwählen.
Habe folgendes im Archiv gefunden, funktioniert allerdings nicht.
Ich hab es auf einen Button gelegt.

hier der text:


Option Explicit

Sub PfadAuswahl()
Dim strPath As String
strPath = GetDirectory
If strPath = "" Then Exit Sub
MsgBox strPath
End Sub

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

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

Function GetDirectory(Optional Msg As String) As String
Dim bInfo As BROWSEINFO
Dim Path As String
Dim r As Long, x As Long, pos As Integer
bInfo.pidlRoot = 0&
If IsMissing(Msg) Then
bInfo.lpszTitle = "Wählen Sie bitte einen Ordner aus."
Else
bInfo.lpszTitle = Msg
End If
bInfo.ulFlags = &H1
x = SHBrowseForFolder(bInfo)
Path = Space$(512)
r = SHGetPathFromIDList(ByVal x, ByVal Path)
If r Then
pos = InStr(Path, Chr$(0))
GetDirectory = Left(Path, pos - 1)
Else
GetDirectory = ""
End If
End Function

er sagt mir immer, nach end, end sub.... ist ende im gelände

wer weiss rat?

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Pfad auswählen für speichern
07.01.2003 07:44:39
Harald Kapp
Hallo Michael,
bei dem Beispielcode könnte es daran liegen, dass VBA die PUBLIC und DECLARE Anweisungen vor der 1. SUB erwartet, sicher bin ich mir da nicht.

Hast DU Dir mal die Methode GetSaveAsFilename angeguckt?
Ausdruck.GetSaveAsFilename(InitialFilename, FileFilter, FilterIndex, Title, ButtonText)
Da wird der Windows übliche Speicher-Unter Dialog angeboten, ohne Klimmzüge.

Gruß Harald

Re: Pfad auswählen für speichern
07.01.2003 07:45:11
Hans W. Herber
Hallo Michael,

die Deklaration der API-Funktionen muss am Modulkopf erfolgen, Subs und Funktionen dürfen nur danach eingefügt werden.

hans

GetSaveAsFilename(...
07.01.2003 07:48:41
Daniel Ov
Hallo Michael,

ich habe zwar nur das Öffnen (XL97) realisiert, aber vielleicht kannst du es dir für deinen Bedarf für das Speichern ummodeln...

so in der Form:
GetSaveAsFilename(InitialFilename, FileFilter, FilterIndex, Title, ButtonText)

gibt den markierten oder eingegebenen Dateinamen zurück. Der zurückgegebene Name kann eine Pfadangabe enthalten. Wenn der Benutzer das Dialogfeld mit Abbrechen beendet, wird False zurückgegeben. Diese Methode wechselt gegebenenfalls das aktuelle Laufwerk oder den aktuellen Ordner.

Falls du den Namen der Datei programmmäßig festlegen willst, kannst du ja den eingegebenen Dateinamen ignorieren und nur den Pfad incl. Laufwerk weiterverarbeiten...

Viel Erfolg
Daniel Ov

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige