没关系,我明白了。留下这个以防其他人有这个问题并搜索它。基本上,问题是VBScript想要一个真正的参数列表,并且不喜欢我试图根据param的名称设置值,就像它在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块和行继续,我得到同样的错误。
非常感谢任何帮助!
谢谢!
答案 0 :(得分: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