将Excel PublishObjects与VBScript一起使用

时间:2012-10-03 18:16:35

标签: vbscript

没关系,我明白了。留下这个以防其他人有这个问题并搜索它。基本上,问题是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块和行继续,我得到同样的错误。

非常感谢任何帮助!

谢谢!

1 个答案:

答案 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