Excel VBA-创建可变工作簿名称&;将其保存到桌面
在我的代码中,我想提示用户输入自定义工作簿名称,然后将所述工作簿保存在桌面上。由于某些原因,当我尝试将工作簿设置为文件路径时,我遇到了一个运行时错误9-下标超出范围。我在其他的帖子上做了一些调查,我不确定为什么我仍然得到这个错误。有没有比我的更好的方法/我的错误在哪里Excel VBA-创建可变工作簿名称&;将其保存到桌面,excel,vba,Excel,Vba,在我的代码中,我想提示用户输入自定义工作簿名称,然后将所述工作簿保存在桌面上。由于某些原因,当我尝试将工作簿设置为文件路径时,我遇到了一个运行时错误9-下标超出范围。我在其他的帖子上做了一些调查,我不确定为什么我仍然得到这个错误。有没有比我的更好的方法/我的错误在哪里 Dim WB As Workbook Dim WS As Worksheet Dim WorkbookName As String Dim FilePath As String Workbo
Dim WB As Workbook
Dim WS As Worksheet
Dim WorkbookName As String
Dim FilePath As String
WorkbookName = InputBox("What Do you Want to Name the New Workbook?")
FilePath = "C:\Users\JoeK\Desktop\" & WorkbookName & ".xlsx"
'error is at the line below
Set WB = Workbooks(FilePath)
Set WS = Sheets("Sheet1")
-添加工作簿,因此工作簿为空李>Set wb=Workbooks.Add
-将其保存到桌面上的wb.SaveAs filePath
李>filePath
-也需要关闭它,wb.Close False
参数用于保存更改。只要工作簿中没有任何操作,此参数也可以是False
李>True
Set WB=Workbooks(FilePath)
正在该位置查找已打开的工作簿。保存所述工作簿是否意味着创建新工作簿并保存?您必须先保存它,然后才能使用新的文件路径创建对它的引用。请详细描述您的要求。我需要用户设置工作簿的名称,工作簿将按此方式保存
Sub CreateEmptyWorkbook()
Dim wb As Workbook
Dim ws As Worksheet
Dim workbookName As String
Dim filePath As String
workbookName = "test"
filePath = GetDesktopPath & workbookName & ".xlsx"
Set wb = Workbooks.Add
wb.SaveAs filePath
wb.Close False
End Sub
Public Function GetDesktopPath() As String
GetDesktopPath = CreateObject("WScript.Shell").specialfolders("Desktop") & "\"
End Function