Speichern unter VBA
#1
Hallo VBA-Freunde,

ich möchte gerne den Befehl "Speichern unter" per VBA aufrufen und den User den Speicherpfad wählen lassen, aber den Dateinamen zum Speichern vorschreiben.

Mit folgendem Codeteil:

ActiveWorkbook.saveAs Filename:=Speicherpfad, FileFormat:= _
xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
geht das ja für einen festen speicherpfad.

In der B12 habe ich mir den Speicherpfad zusammengebaut:
Speicherpfad = Range("B12").Value

=B8&G20&", "&TEXT(E20;"JJJJ-MM-TT")&", Smartsheet.xlsm"
so lautet die Variable nun: E:\BUCON\APC-123-001-14, 2014-10-27, Smartsheet.xlsm

Den Teil E:\BUCON\ soll nun der User mit speichern unter wählen können und der Dateiname
APC-123-001-14, 2014-10-27, Smartsheet.xlsm muss dann verwendet werden.

Wie kann ich das Problem lösen?

Vielen Dank für eure Hilfe schon im voraus.
Es ist nicht genug, zu wissen. Man muss es auch anwenden.
Es ist nicht genug, zu wollen. Man muss es auch tun.
Top
#2
Hallo Heinz,

spontan fiele mir ein, das Laufwerk und den Ordner vom User in zwei Zellen eintragen zu lassen und in
die Formel mit zu integrieren.
Per VBA mit zwei Inputboxen. Beispiel findest Du hier:

http://www.herber.de/mailing/Beispiele_z...putBox.htm
http://ms-excel.eu/faqs/excel-vba-texte/...utbox.html
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Top
#3
Hallo Heinz,

vielleicht auch so (geklaut von Case ;) ):

Code:
Public Sub Ordnerauswahl()
  Dim strOrdner As String

  With Application.FileDialog(msoFileDialogFolderPicker)
    .InitialFileName = "E:\"
    .Title = "Ordnerauswahl"
    .ButtonName = "Auswahl..."
    .InitialView = msoFileDialogViewList
    If .Show = -1 Then
      strOrdner = .SelectedItems(1)
      If Right(strOrdner, 1) <> "\" Then strOrdner = strOrdner & "\"
    Else
      strOrdner = ""
    End If
  End With
  If strOrdner = "" Then
    MsgBox "Kein Ordner gewählt!"
  Else
    ActiveWorkbook.SaveAs Filename:=strOrdner & Range("G20").Value & ", " & _
            Format(Range("E20").Value, "YYYY-MM-DD") & ", Smartsheet.xlsm", _
            FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
  End If
End Sub

Gruß Uwe
Top
#4
Hallo ihr,

vielen Dank für eure Hilfe,

leider kam ich erst heute dazu, das alles zu testen.
Jetzt läuft mein Code nach ein paar Umbauten wie ich es will.
Es ist nicht genug, zu wissen. Man muss es auch anwenden.
Es ist nicht genug, zu wollen. Man muss es auch tun.
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste