我正在尝试打开“另存为”窗口并从单元格填充文件名和文件路径
这是我的代码,它填充文件名并在文件路径中打开“另存为”窗口,但是当我单击“保存”时,文件永远不会显示在应该保存的位置。
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
最佳答案
文件对话框实际上并不保存文件 - 它只是提示用户输入文件名或允许用户更改默认文件名。您必须取回选定的文件名并独立保存它,如下所示:
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
关于excel - 打开另存为窗口并从单元格填充文件名和文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42865866/