显示另存为对话框的按钮,然后保存到设置的位置
Button to show Save As dialog, then save to a set location
我已经坚持了一段时间,非常感谢帮助。
当工作簿关闭时,我已经了解了这个概念,但它所做的只是保存到指定的位置。现在,我想对其进行调整,以便按下按钮后,它会要求用户保存到一个位置,然后保存后,excel 会将其保存到我选择的另一个位置。
按下按钮时,我不断收到错误消息“参数不是可选的”。
谢谢。
Private Sub Save(Cancel As Boolean)
NameOfWorkbook = Left(ThisWorkbook.Name, (InStrRev(ThisWorkbook.Name, ".", -1, vbTextCompare) - 1))
Dim varResult As Variant
'displays the save file dialog
varResult = Application.GetSaveAsFilename
'checks to make sure the user hasn't canceled the dialog
If varResult <> False Then
Cells(2, 1) = varResult
MyMsg = NameOfWorkbook + " " & "saved to return note folder"
MsgBox MyMsg
'Create and assign variables
Dim saveLocation As String
saveLocation = "S:\Office information\Returns\Return Notes\" + NameOfWorkbook
'Save Active Sheet(s) as PDF
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=saveLocation
End If
End Sub
您没有使用 sub 参数,因此,正如 Siddharth 指出的那样,您应该更正 Private Sub Save()
。
此外,Save
是excel中的保留字,所以我不会将其用作子名称。
我已经坚持了一段时间,非常感谢帮助。
当工作簿关闭时,我已经了解了这个概念,但它所做的只是保存到指定的位置。现在,我想对其进行调整,以便按下按钮后,它会要求用户保存到一个位置,然后保存后,excel 会将其保存到我选择的另一个位置。
按下按钮时,我不断收到错误消息“参数不是可选的”。
谢谢。
Private Sub Save(Cancel As Boolean)
NameOfWorkbook = Left(ThisWorkbook.Name, (InStrRev(ThisWorkbook.Name, ".", -1, vbTextCompare) - 1))
Dim varResult As Variant
'displays the save file dialog
varResult = Application.GetSaveAsFilename
'checks to make sure the user hasn't canceled the dialog
If varResult <> False Then
Cells(2, 1) = varResult
MyMsg = NameOfWorkbook + " " & "saved to return note folder"
MsgBox MyMsg
'Create and assign variables
Dim saveLocation As String
saveLocation = "S:\Office information\Returns\Return Notes\" + NameOfWorkbook
'Save Active Sheet(s) as PDF
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=saveLocation
End If
End Sub
您没有使用 sub 参数,因此,正如 Siddharth 指出的那样,您应该更正 Private Sub Save()
。
此外,Save
是excel中的保留字,所以我不会将其用作子名称。