0

没关系,我想通了。将其留在这里以防其他人遇到此问题并进行搜索。基本上,问题在于 VBScript 想要一个真正的参数列表,并且不喜欢我试图根据参数名称设置值,就像在 VBA 中一样:

objWorkbook.PublishObjects.Add(4,"F:\METRICS_TEAM\OSO\New OSO\Net OSO Acceptance Email.html","Destination",objWorkbook.Sheets("Destination").Range("B1:R29").Address,0).Publish (True)

工作正常。有关该问题的详细信息,请参见下文。


我正在尝试将一些代码从 VBA 移动到 VBScript,并且在尝试将 Excel 范围导出到 HTML 时遇到了 PublishObjects 对象的一些问题。这是VBA中的工作代码:

With ActiveWorkbook.PublishObjects.Add(SourceType:=xlSourceRange, _
    fileName:="F:\METRICS_TEAM\OSO\New OSO\Net OSO Acceptance Email.html", _
    Sheet:="Destination", _
    Source:=Sheet3.Range("B1:R29").Address, _
    HtmlType:=xlHtmlStatic)
    .Publish (True)
End With

这是我在 VBScript 中遇到问题的代码:

Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("F:\METRICS_TEAM\OSO\New OSO\Net OSO Acceptance Email.xlsm")

With objWorkbook.PublishObjects.Add(SourceType:=4, _
    Filename:="F:\METRICS_TEAM\OSO\New OSO\Net OSO Acceptance Email.html", _
    Sheet:="Destination", _
    Source:=objWorkbook.Sheets("Destination").Range("B1:R29").Address, _
    HtmlType:=0)
    .Publish (True)
End With

当我在 VBScript 中运行它时,我收到一个编译错误,说它在第一行继续之前缺少一个右括号......由于某种原因,它似乎不喜欢 .add 方法中的参数。我尝试删除 with 块和行继续,但我得到了同样的错误。

任何帮助将非常感激!

谢谢!

4

1 回答 1

0

请将此与声明一起使用。

With ActiveWorkbook.PublishObjects.Add(xlSourceRange, "D:\EXCEL_TO_HTML_RANGE.htm", "Sheet1", _ Range("B1:R29").Address, xlHtmlStatic, "Title of the page") .Publish (True) End With

于 2015-03-27T11:53:31.503 回答