2015-10-06 28 views
0

我無法用我的Excel macro‘保存爲’我的表爲PDF,以及將其保存在當前CSV格式法「另存爲Object'_Workbook的失敗

這是一種行給我的問題在我的調試提前

ChDir "C:\Users\Owner\Google Drive\Lips\PDFs" <br> 
ActiveWorkbook.SaveAs Filename:=".pdf", FileFormat:= _ 
xlPDF 

謝謝!

Dim sPath as String, sFile as String 
sPath = "C:\Users\Owner\Google Drive\Lips\PDFs\" 'this last backslash is necessary 
sFile = Range("A1").Value & ".pdf" 
sPath = sPath & sFile 

'change other parameters as needed (can also use 'ActiveSheet` for just a given sheet 
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= sPath, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= True 
+4

嗯...也許給一個文件專有名稱,不僅「.pdf」擴展名? – GSazheniuk

+0

它只是動態的。有沒有辦法引用單元格A1,因爲它具有訂單ID,然後將.pdf擴展名添加到該單元格中? – PortaDoor

+0

filename = Cells(1,「A」)&「。pdf」,並在下一行ActiveWorkbook.SaveAs文件名:=文件名,FileFormat:= _ xlPDF – GSazheniuk

回答

0

您需要ExportAsFixedFormat方法。要導出當前工作表爲PDF格式,你必須使用一個出口,而不是保存命令:

ActiveSheet.ExportAsFixedFormat FileName:="MyFile.pdf" Type:=xlTypePDF 

這一邊,這個問題可能是你直接保存到谷歌驅動器。雖然它具有Windows資源管理器集成功能,但您可能無法使用標準保存操作將其保存到它。

快速測試將嘗試手動執行此操作。執行文件>另存爲,然後查看是否可以瀏覽(通過文件夾瀏覽器)到此位置併成功保存。如果Google雲端硬盤僅作爲「地點」提供,則可能無法通過宏直接保存。如果是這種情況,您可以嘗試this script嘗試啓用該功能,但我沒有嘗試過,並且不確定它是否能解決您的問題。

+0

我似乎越來越接近了,只是現在我得到了錯誤 - 「Document Not Saved。」文檔可能是開放的,或者保存「 – PortaDoor

+0

時可能遇到錯誤您是否已經在相同的文件路徑中打開了同名的PDF版本?當文件已經存在於文件夾中但未打開時,它將默認覆蓋它另外,確保你的'sPath'變量e是100%準確的(拼寫等)。 –

+0

我相信這是不公開的。 – PortaDoor

0

您正試圖將工作簿保存爲PDF格式,而不是一個工作表: