Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
264to268
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
264to268
264to268
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datei mit definiertem Namen speichern ..

Datei mit definiertem Namen speichern ..
06.06.2003 10:36:24
Martin
... i.V.m mit dem Befehl "Application.Dialogs(xlDialogSaveAs).Show"?

Hallo

ich kopiere eine Tabelle in eine neue Arbeitsmappe und speichere die Datei mit einem vordefinierten Namen und dem Datum ab. Bisher habe ich stets den Pfad mit vorgegeben, nämlich c:\.
Nun möchte ich aber dem User die Möglichkeit geben sich den Pfad selber auszusuchen, weswegen ich den Befehl "Application.Dialogs(xlDialogSaveAs).Show" eingefügt habe (s. Makro)

Leider schaffe ich es aber nicht, die Datei dann auch noch mit dem definierten Namen abzuspeichern.
Was muss ich ändern bitte?

Gruss,
Martin



12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Datei mit definiertem Namen speichern ..
06.06.2003 10:59:55
Mike E.

i Martin,

du könntest den laufwerksbuchstaben mittels InputBox abfragen:

Dim Laufwerk as String
Laufwerk = InputBox ("Bitte LW-Buchstaben angeben:")

WB.SaveAs Laufwerk & ":\Master_" & dName & ".xls"

Gruß
Mike


Re: Datei mit definiertem Namen speichern ..
06.06.2003 11:19:19
Martin

Mike,

ok, das wäre schon eine Alternative. Wenn es aber mehrere Unterordner gibt, müssen die alle eingegeben werden - nicht so effektiv.

Kann ich den ausgesuchten Pfad über "Application.Dialogs(xlDialogSaveAs).Show" nicht einer Variablen übergeben?

Gruss,
Martin

Re: Datei mit definiertem Namen speichern ..
06.06.2003 11:37:36
Mike E.

Hallo Martin,

Dennis hat dir doch gestern ein tollen Code gegeben; dort muss der User den Ordner auswählen (Ausgabe im Bsp. über MsgBox; allerdings kannst du die Rückgabe auch als Speicherpfad verwenden)

https://www.herber.de/forum/archiv/264to268/t265567.htm

Gruß
Mike

Anzeige
Re: Datei mit definiertem Namen speichern ..
06.06.2003 11:41:04
Holger

Hallo
Es giebt einen Befehl, in dem man eine Dll aufruft und dort in gewohnter weise das Laufwerk und den Ordner aussuchen kann und ihn dann VBA übergiebt. Habe ich aber zu Hause ( Und leider nicht im Kopf).
Ich schaue heute abend noch mal rein ob Dir schon jemand weiter helfen konnte!
Gruß Holger

Re: Datei mit definiertem Namen speichern ..
06.06.2003 11:44:07
Martin

Ja, hast recht. Ich werde damit mal rumspielen, sollte wohl klappen.
Dachte nur, dass es noch einfahcer geht, ist wohl aber nicht so.

Danke
Gruss,
Martin

Re: Datei mit definiertem Namen speichern ..
06.06.2003 11:44:12
Martin

Ja, hast recht. Ich werde damit mal rumspielen, sollte wohl klappen.
Dachte nur, dass es noch einfahcer geht, ist wohl aber nicht so.

Danke
Gruss,
Martin

Anzeige
Re: Datei mit definiertem Namen speichern ..
06.06.2003 11:51:09
Ramses

Hallo Martin,

Eine Variante von Nepomuk um den Benutzerdefinierten Pfad in eine Variable zu holen.


'--------------------------------------
'Dialog von Nepomuk
Dim NeuOrdner As String
Private Type InfoT
    hwnd As Long
    Root As Long
    DisplayName As Long
    Title As Long
    Flags As Long
    FName As Long
    lParam As Long
    Image As Long
End Type

Private Declare Function SHBrowseForFolder Lib "shell32" (lpbi As InfoT) As Long
Private Declare Function CoTaskMemFree Lib "ole32" (ByVal hMem As LongAs Long
Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpStr1 As StringByVal lpStr2 As StringAs Lo
Private Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pList As LongByVal lpBuffer As StringAs Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassname As StringByVal lpWindowName As StringAs Long

Private Function GetAOrdner() As String
    Dim xl As InfoT, IDList As Long, RVal As Long, FolderName As String
    With xl
        .hwnd = FindWindow("", "Auswahl")
        'Füor Auswahl in Tabelle
        '.hwnd = FindWindow("xlmain", vbNullString)
        .Title = lstrcat("Bitte wählen Sie ein Verzeichnis", "")
        .Flags = 1
    End With
    IDList = SHBrowseForFolder(xl)
    If IDList <> 0 Then
        FolderName = Space(256)
        RVal = SHGetPathFromIDList(IDList, FolderName)
        CoTaskMemFree (IDList)
        FolderName = Trim(FolderName)
        FolderName = Left(FolderName, Len(FolderName) - 1)
    End If
    GetAOrdner = FolderName
End Function

Public Sub Ordner_suchen()
    NeuOrdner = GetAOrdner
End Sub
 

     Code eingefügt mit Syntaxhighlighter 1.16


Das verfahren ist jedoch grundsätzlich gleich


Gruss Rainer




Anzeige
@Mike/ Ramses
06.06.2003 13:00:26
Martin

Mike, Rainer,

das klappt schon recht gut. Wenn ich aber meinen Ordner, den ich suche an die Variable s übergebe und diese dann in "ActiveWorkbook.SaveAs Filename:=" angebe, sieht xl den Wert der Variablen nicht als Pfad, sondern als Text an. Was mache ich falsch, habe schon alles mögliche ausprobiert?!

Gruss,
Martin

Re: @Mike/ Ramses
06.06.2003 13:05:19
Mike E.

Hallo,

hast du vielleicht hinter "s" das ":\" vergessen?

Gruß
Mike

Re: @Mike/ Ramses
06.06.2003 13:43:30
Martin

wenn ich s in einer MsgBox ausgebe, wird der Pfad komplett dargestellt (zB c:\).

Gebe ich ein .. Filenmae:=s & ":\" & "Master" usw, bricht xl mir mit einem Fehler ab und stürzt sogar ab.

Gruss,
martin

Anzeige
Re: @Mike/ Ramses
06.06.2003 13:53:07
Mike E.

Hallo martin,

habe es jetzt selbst einmal ausprobiert:

schreibe in Dennis' markro "Aufruf" folgendes unter die MsgBox:

ThisWorkbook.SaveAs s & "\" & "Martin.xls"

Bei mir funktionierts in jedem Verzeichnis ohne Abstürze.

(Mein erster Tipp mit ":\" war falsch; das steht schon in der Variablen...beachte aber das "\"-Zeichen - das fehlt bei dir.)

Gruß
Mike

Yesss!
06.06.2003 13:55:40
Martin

Vielen Dank Mike!

Gruss,
Martin

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige