2015-11-16 96 views
3

我的電子表格有許多選項卡,我需要將其轉換爲一個PDF文件以及包含指向其他頁面的超鏈接的索引頁面。我有代碼來建立在Excel中工作的鏈接或手動保存PDF時的代碼,但不是當我通過代碼執行時。將文檔保存爲PDF時,VBA超鏈接不起作用

 For Each s In Sheets 
      If s.Name Like printNames Then 
       s.Select False 
      End If 
     Next s 

     ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ 
     path & filename & ".pdf", Quality:=xlQualityStandard, _ 
     IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True 

其中的鏈接是由像:

TOCTab.Hyperlinks.Add anchor:=anchRange, Address:="", _ 
SubAddress:="'" & s.Name & "'!A1", TextToDisplay:=linkText 

任何想法,我能做得到這個在PDF導出工作?謝謝。

回答

2

這是因爲VBA本身不能在PDF文件中工作。 VBA是Microsoft專有的編程語言,僅適用於某些Microsoft產品(如Office),並且PDF格式不是來自Microsoft並且不支持VBA。

+1

謝謝。有沒有解決辦法?我不明白爲什麼手動和通過VBA做完全相同的事情有不同的結果。 – ELW

+1

你是什麼意思手動?你的意思是Excel表格上的一個真正的鏈接?如果是這樣,那當然會起作用。當您將Excel文件轉換爲PDF格式時,它會轉換文件而不使用VBA。禁用您的VBA代碼,您將看到該表完全按照它將被轉換。 –