没关系,我想通了。将其留在这里以防其他人遇到此问题并进行搜索。基本上,问题在于 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 块和行继续,但我得到了同样的错误。
任何帮助将非常感激!
谢谢!