好的,所以我觉得我对如何做到这一点感到困惑,也许我做的事情显然是错的?
这是我的代码:
Private Sub CommandButton1_Click()
Dim wbI As Workbook, wbO As Workbook, wb1 As Workbook
Dim wsI As Worksheet, wsO As Worksheet, ws1 As Worksheet
filelocation1 = "C:\Users\Public\Desktop_" & Format(Date, "ddmmyyyy") & "Production.xls"
Set wbI = ThisWorkbook
Set wsI = wbI.Sheets("Production")
Set wbO = Workbooks.Add
With wbO
Set wsO = wbO.Sheets("Sheet1")
ActiveWorkbook.SaveAs Filename:=filelocation1 '******
wsI.Range("A1:C100").Copy
wsO.Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
End With
但是在星号线上我得到一个运行时错误(包含在图像中)。我认为这是因为我正在正确保存文件...但我认为这是正确的?是因为我使用的是文件路径而不是文件名吗?我是否需要在路径的末尾添加" Name" .xls?或者我需要将文件名和文件路径分开吗?
提前致谢:)
编辑:现在事情正在发挥作用,文件被转储到" C:\ Users \ Public"将DESKTOP添加到名称的位置(而不是" C:\ Users \ Public \ Desktop"。我尝试了各种尝试将其路由到正确位置的东西,例如添加" _& #34;最后以及其他没有奏效的技巧。
我该如何解决这个问题?
求助:
filelocation1 = "C:\Users\Public\Desktop" & "\" & Format(Date, "ddmmyyyy") _
& "Production.xls"
答案 0 :(得分:3)
您需要在文件路径中包含文件名,例如"C:\Users\Public\Desktop\Name.xls"
答案 1 :(得分:3)
我相信语法错误
我倾向于使用像
这样的东西dim filelocation as string
dim fileext as string
dim filestring as string
然后使用“C:\ Users \ Public \ Desktop \”作为文件位置,并将文件文本设置为您喜欢的任何内容,例如:如果你想在一个文本框中输入你自己的文件名然后fileext = textbox.text
,那么就是filestring = filelocation & fileext
的情况。如果您使用它,这种方法可以让您灵活使用