在 SaveAs window 中设置 Excel 文件的文件名,在 vba 中不使用 sendkeys
Setting the filename for an Excel file in the SaveAs window without sendkeys in vba
我想知道 SaveAs window 文件名文本框是否有一个 属性 可以设置文本。目前我正在使用 sendkeys 函数,它对大多数事情都适用,直到我 运行 进入括号等特殊字符。
我现在的代码基本上是:
SaveFldr = "S:\Desktop\grape
Filename = "Grape Data"
Application.SendKeys "{F12}" ' opens the save as window
Application.SendKeys SaveFldr & Filename & ".pdf"
Application.SendKeys "{Enter}"
基本上,我正在寻找一种无需 sendkeys 函数即可设置文件名的方法。比如..
Filename.Textbox = Filename
** 假设另存为 window 中的文本框被命名为。
您可以使用如下代码
Sub CallSaveAs()
Dim fileSaveName As Variant
Dim SaveFldr As String
Dim fileName As String
SaveFldr = "S:\Desktop\grape"
fileName = "Grape Data"
fileSaveName = Application.GetSaveAsFilename( _
fileFilter:="PDF Files (*.PDF), *.pdf", _
InitialFileName:=SaveFldr & Application.PathSeparator & fileName)
If Not TypeName(fileSaveName) = "Boolean" Then
MsgBox "Save as " & fileSaveName
' Save the sheetas PDF
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, fileName:=fileName
End If
End Sub
End Sub
我想知道 SaveAs window 文件名文本框是否有一个 属性 可以设置文本。目前我正在使用 sendkeys 函数,它对大多数事情都适用,直到我 运行 进入括号等特殊字符。
我现在的代码基本上是:
SaveFldr = "S:\Desktop\grape
Filename = "Grape Data"
Application.SendKeys "{F12}" ' opens the save as window
Application.SendKeys SaveFldr & Filename & ".pdf"
Application.SendKeys "{Enter}"
基本上,我正在寻找一种无需 sendkeys 函数即可设置文件名的方法。比如..
Filename.Textbox = Filename
** 假设另存为 window 中的文本框被命名为。
您可以使用如下代码
Sub CallSaveAs()
Dim fileSaveName As Variant
Dim SaveFldr As String
Dim fileName As String
SaveFldr = "S:\Desktop\grape"
fileName = "Grape Data"
fileSaveName = Application.GetSaveAsFilename( _
fileFilter:="PDF Files (*.PDF), *.pdf", _
InitialFileName:=SaveFldr & Application.PathSeparator & fileName)
If Not TypeName(fileSaveName) = "Boolean" Then
MsgBox "Save as " & fileSaveName
' Save the sheetas PDF
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, fileName:=fileName
End If
End Sub
End Sub