将工作簿另存为带有用户提示文件路径的CSV文件

时间:2018-07-03 14:17:55

标签: excel vba excel-vba

我看到了许多性质相似的问题,但是我遇到了一个特定的问题。这是我正在使用的代码:

filePath = GetFolderName
NewBook.Activate
ActiveWorkbook.SaveAs Filename:="Summary Book", FileFormat:=xlCSV, CreateBackup:=False

以上,GetFolderName是一个函数,定义如下:

Public Funtion GetFolderName(Optional OpenAt As String) As String
Dim lCount As Long

GetFolderName = vbNullString

With Application.FileDialog(msoFileDialogFolderPicker)
    .InitialFileName = OpenAt
    .Show
    For lCount = 1 To .SelectedItems.Count
        GetFolderName = .SelectedItems(lCount)
    Next lCount
End With
End Function

此功能不是我写的,而是我的同事写的,因此我并不完全了解它的内部功能。当我运行代码时,它可以正常工作,但是无论我选择哪个文件夹,它都会将文件保存到先前的一个文件夹中。IE.E。-如果我单击3个文件夹并保存,它将文件保存在第二个文件夹中。我以前也注意到它正在将其另存为“文件”。将使用诸如记事本之类的应用程序打开该文件,而不是使用excel打开的.CSV文件。任何人都知道这是怎么回事吗?

1 个答案:

答案 0 :(得分:3)

您获得了文件路径,但是在保存文件时不使用它

filePath = GetFolderName
NewBook.SaveAs Filename:= Filepath & "\Summary Book.csv", FileFormat:=xlCSV, CreateBackup:=False