我想知道SaveAs窗口文件名文本框是否具有我可以设置文本的属性。 目前我正在使用 sendkeys 函数,它适用于大多数事情,直到我遇到括号等特殊字符。
我目前的代码基本上是:
SaveFldr = "S:Desktopgrape
Filename = "Grape Data"
Application.SendKeys "{F12}" ' opens the save as window
Application.SendKeys SaveFldr & Filename & ".pdf"
Application.SendKeys "{Enter}"
基本上,我正在寻找一种在没有发送键功能的情况下设置文件名的方法。 如。。
Filename.Textbox = Filename
** 假设"另存为"窗口中的文本框被命名为该名称。
您可以使用如下所示的代码
Sub CallSaveAs()
Dim fileSaveName As Variant
Dim SaveFldr As String
Dim fileName As String
SaveFldr = "S:Desktopgrape"
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