2016-05-17 68 views
0

我試圖將一系列工作表保存到爲每個Excel工作表命名的單個文件中。如何保存PDF文件與正確的活動工作表?

For Each ws In ActiveWorkbook.Sheets 
    fileName = RDB_Create_PDF(Range(ws.PageSetup.PrintArea), "N:\Excel\VBA\" & CleanStr(ws.Name) & ".pdf", True, True) 
Next 

。問題是每個ws的printarea和文件名更改,但它只保存當前活動工作表中的信息 - 即,我得到的工作表信息與不同的printarea範圍和不同的文件名保存的相同。隨着ws的變化,我將如何獲得活動工作表以與printarea和文件名保持一致?

回答

0
RDB_Create_PDF(Range(ws.PageSetup.PrintArea), _ 
       "N:\Excel\VBA\" & CleanStr(ws.Name) & ".pdf", True, True) 

這裏Range將默認爲ActiveSheet而不是ws

RDB_Create_PDF(ws.Range(ws.PageSetup.PrintArea), _ 
       "N:\Excel\VBA\" & CleanStr(ws.Name) & ".pdf", True, True) 

可能是你想要什麼,但很難說肯定沒有發佈用於RDB_Create_PDF

+0

爲RDB_Create_PDF的代碼是代碼發帖時間太長。但是,您的建議似乎可行,儘管在運行子文件後,原始表單上的所有信息都會被刪除。 – ectrimm

+0

這可能發生在你的被調用Sub –

+0

某處在這裏是一個代碼示例(在第二個灰色框中):http://stackoverflow.com/questions/36647945/solved-compile-on-demand-disabled – ectrimm

相關問題