VBA - 保存到任何用户桌面

时间:2016-09-27 14:29:57

标签: excel vba

我已经搜索了答案并阅读了很多回复,但我仍然迷失了。我有一个Excel文档,我已经设置了一个VBA CommandButton,将工作表导出为PDF文档并保存到我的桌面,但由于我需要多个用户访问并保存文档,我假设它需要找到用户桌面并保存在那里,对于不同的用户将是不同的。

我目前正在使用

Private Sub CommandButton1_Click() 
Sub SavePDF()     
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _                   
          Filename:="C:\Integration\Export.pdf", _        
          OpenAfterPublish:=True 
End Sub  

非常感谢任何帮助

2 个答案:

答案 0 :(得分:1)

如果它始终是桌面,您可以使用

Private Sub CommandButton1_Click()
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
          Filename:=CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\Export.pdf", _
          OpenAfterPublish:=True
End Sub

我将CommandButton1重命名为其他内容 - 也许cmdExportPDF,并且正如jsheeran建议的那样 - 丢失子SavePDF()行。

答案 1 :(得分:0)

我使用以下内容保存到用户桌面。我通常这样做是为了编写临时文本文件然后删除它,但它也可以用于此:

Private Sub CommandButton1_Click() 
Sub SavePDF()     
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _                   
          Filename:= Environ("USERPROFILE") & "\Desktop\Export.pdf", _        
          OpenAfterPublish:=True 
End Sub