2014-09-19 44 views
1

我想使用VBA在Excel中發佈多個工作表。我需要發佈表2和3.Excel使用VBA發佈多個工作表

以下是代碼。

With ActiveWorkbook 
    .WebOptions.AllowPNG = False 
     With .PublishObjects(2) 
      Range("A1").Activate 
      .Filename = "D:\Reports\09192014\MNM.html" 
      .Publish (True) 
     End With 
End With 

PublishObjects(2)我將數字從2更改爲3,如下所示。

With ActiveWorkbook 
    .WebOptions.AllowPNG = False 
     With .PublishObjects(3) 
      Range("A1").Activate 
      .Filename = "D:\Reports\09192014\Coal.html" 
      .Publish (True) 
     End With 
End With 

不過儘管在HTML報告coal.html我越來越MNM.html數據和太有一半的數據。
如何迭代工作表併發布對象?

回答

0

你不是應該先加入像這樣?:

With ActiveWorkbook.PublishObjects.Add(xlSourceSheet, _ 
     "D:\Reports\09192014\MNM.html", "Sheet1", , _ 
     xlHtmlStatic, , "") 
     .Publish (True) 
     .AutoRepublish = False '~~> True updates HTML when workbook is saved 
    End With 

    With ActiveWorkbook.PublishObjects.Add(xlSourceSheet, _ 
     "D:\Reports\09192014\Coal.html", "Sheet2", , _ 
     xlHtmlStatic, , "") 
     .Publish (True) 
     .AutoRepublish = False 
    End With 

將它添加後,也就是你可以通過索引號使用PublishObjects Collection訪問的時間。
索引將基於Object的創建順序。

+0

當它嘗試使用相同的代碼時,應用程序顯示錯誤消息「需要對象」用MNM報告替換Sheet1(我要發佈工作表),甚至嘗試使用Sheet 1但仍收到錯誤消息。 – user3670700 2014-09-19 09:24:02

+0

@ user3670700 **應將Sheet1 **替換爲工作表的名稱。也可以在手動發佈的同時嘗試錄製宏,以獲取參數的正確條目。 – L42 2014-09-19 09:58:16

+0

這是行得通的,但我們需要在發佈行之前再添加一行。使用ActiveWorkbook.PublishObjects.Add(xlSourceSheet,_ 「D:\ Reports \ 09192014 \ MNM.html」,「Sheet1」,_ xlHtmlStatic,「」)Range(「A1」)。activate .Publish(True ) .AutoRepublish = False'~~>當工作簿被保存時,真正更新HTML End With – user3670700 2014-09-19 12:11:50

相關問題