2017-03-17 3 views
0

Ich versuche zu öffnen das Fenster Speichern unter, und füllen Sie den Dateinamen und Dateipfad von einer ZelleÖffnen als Fenster speichern und den Dateinamen und Dateipfad von Zelle

Hier ist der Code, den ich habe bevölkern, welche die nicht füllen Dateiname und öffnet das Fenster "Speichern unter" im Dateipfad, aber wenn ich auf "Speichern" klicke, wird die Datei nie an der Stelle angezeigt, an der sie gespeichert werden sollte.

Sub Save() 

'Adds formula to show file path 
ActiveSheet.Range("I26") = "=LEFT(CELL(""filename"",RC),FIND(""["",CELL(""filename"",RC),1)-1)" 

'Adds formula to show file name 
ActiveSheet.Range("J26") = "=MID(CELL(""filename""),FIND(""["",CELL(""filename""))+1,(FIND(""]"",CELL(""filename""))-FIND(""["",CELL(""Filename""))-8))" 

ActiveSheet.Calculate 'Calculate sheet 

'this will remove the formula from the cell making it text only 
ActiveSheet.Range("I26") = ActiveSheet.Range("I26") 
ActiveSheet.Range("J26") = ActiveSheet.Range("J26") 


Dim FilePath As String 
Dim FileName As String 
FilePath = ActiveSheet.Range("I26").Value 
FileName = ActiveSheet.Range("J26").Value 


Dim fPth As Object 
Set fPth = Application.FileDialog(msoFileDialogSaveAs) 

With fPth 
    .InitialFileName = FilePath & FileName & ".xlsm" 
    .Title = "Save your File" 
    .InitialView = msoFileDialogViewList 
    .Show 
End With 


End Sub 
+1

Ich denke, es ist, weil Sie den 'FilePath' im Dateinamen haben. Versuchen Sie '.InitialFileName = Dateiname &" .xlsm "'. – BruceWayne

Antwort

0

Der Dateidialog tatsächlich nicht die Datei speichern - fordert es nur den Benutzer auf, einen Dateinamen oder kann der Benutzer einen Standard-Dateinamen ändern. Sie müssen den ausgewählten Dateinamen zurück und speichern Sie es unabhängig etwas wie folgt:

Dim fPth As Object 
Set fPth = Application.FileDialog(msoFileDialogSaveAs) 

With fPth 
    .InitialFileName = FileName & ".xlsm" 
    .Title = "Save your File" 
    .InitialView = msoFileDialogViewList 
    If .Show <> 0 Then 
    ThisWorkbook.SaveAs FileName:=.SelectedItems(1), FileFormat:=xlWorkbookNormal 
    End If 
End With 
Verwandte Themen