2016-09-27 104 views
0

我已經搜索了答案並閱讀了很多回復,但我仍然迷失。我有一個Excel文檔,我已經設置了一個VBA CommandButton,它將表單導出到PDF文檔並保存到我的桌面,但由於我需要多個用戶訪問並保存文檔,我假設它需要查找用戶桌面並保存對於不同的用戶將會有所不同。VBA - 保存到任何用戶桌面

我目前使用

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

任何幫助,將不勝感激

+1

我建議您使用[FileDialog](https://msdn.microsoft.com/en-us/library/office/ff836226.aspx)來獲取目標位置,而不是對其進行硬編碼。另外,你的意思是有一個'Sub'聲明嵌套在另一個? – jsheeran

回答

0

我使用以下方法來保存到用戶桌面。我通常這樣做是爲了寫入臨時文本文件,然後我刪除,但它可以用於這個問題,以及:

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

如果它總是會在桌面,你可以使用

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

我d將CommandButton1重新命名爲其他內容 - 也許cmdExportPDF,並按照jsheeran的建議 - 丟失Sub SavePDF()一行。

相關問題