VBA宏中“另存为”位置的对话框

3

我正在尝试将文件作为PDF文件导出,作为更大宏的一部分。然而,我希望用户可以选择将文件保存到自己选择的目录中,我认为使用浏览对话框会最容易。但是,我无法弄清楚如何打开一个浏览对话框。目前,我的代码如下:

ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    "C:\Users\<filepath>\11.08E PT5 Executive Summary - v3.2.pdf", _
    Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
    :=False, From:=1, To:=3, OpenAfterPublish:=True

我希望您能够使用对话框的结果替换

1个回答

5

Application.GetSaveAsFilename.

dim v as variant
v = Application.GetSaveAsFilename("11.08E PT5 Executive Summary - v3.2.pdf", "PDF Files (*.pdf), *.pdf")

if vartype(v) = vbString then
  ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=v, _
    Quality:=xlQualityStandard, IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, From:=1, To:=3, OpenAfterPublish:=True
end if

虽然来晚了,但我想知道 From:=1, To:=3 部分的原因或逻辑是什么。我正在学习,不太明白它存在的意义和作用。 - Rivers31334
此外,以这种方式进行操作时,程序如何知道保存对话框出现时的默认文件路径? - Rivers31334
@Rivers31334 From:=1, To:=3 实际上与问题无关。我将其从原帖代码中复制,因为那是他们的代码。它应该只保存从第1页到第3页,但这也需要 Range:=wdExportFromTo(请参阅 https://msdn.microsoft.com/en-us/library/bb256835%28v=office.12%29.aspx),而原帖作者没有添加该参数,因此可能并没有实际效果。默认文件路径为当前目录(请参阅 https://dev59.com/_FfUa4cB1Zd3GeqPDwSU#5944101)。 - GSerg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接