将Excel作为网页发布

weixin_38118043 2019-09-12 02:19:10

我尝试使用VB脚本将Excel作为网页保存。我面临的问题是excel中的表名(例如Sheet1)也被保存在网页中。我不希望表格名称出现在网页中。 我发现的一个解决方案是,如果excel发布为网页(而不是保存为网页),那么它将不包含工作表名称。但我在使用VB脚本尝试时面临着一些问题。以下是代码: Dim objApp, objBook, objRange, objSheet Set objApp = CreateObject("Excel.Application") objApp.Visible = False Set objBook = objApp.Workbooks.Open("C:\Dashboard\excel_files\Account Executive.xlsx") Set objSheet = objBook.worksheets("Account Executive") Set objRange = objSheet.Range("C5:I30") With objBook.PublishObjects.Add(xlSourceRange, "C:\EXCEL_TO_HTML_RANGE.htm", "Account Executive", objRange.Address, xlHtmlStatic, "Title of the page").Publish(True) End With objBook.Close objApp.Quit Set objSheet = Nothing Set objRange = Nothing Set objApp = Nothing 该代码给出了代码为800A03EC的未知运行时错误。 无论如何要纠正这些代码或其他方式从网页中删除工作表名称? 在此先感谢。 :) 由于@AxelRichter 与2010年Excel中的最后工作代码: Dim objApp, objBook, objRange, objSheet Set objApp = CreateObject("Excel.Application") objApp.Visible = False Set objBook = objApp.Workbooks.Open("C:\Dashboard\excel_files\OU Dashboard.xlsx") Set objSheet = objBook.worksheets("OU Dashboard") Set objRange = objSheet.Range("C5:J30") Dim oPOs, oPO Set oPOs = objBook.PublishObjects Set oPO = oPOs.Add(4, "C:\Dashboard\EXCEL_TO_HTML_RANGE.htm", "OU Dashboard", "$C$5:$J$30", 0, "TableDIVID", "Title of the page") oPO.Publish (True) set oPO = Nothing set oPOs = Nothing Set objSheet = Nothing Set objRange = Nothing objBook.Close False set objBook = Nothing objApp.Quit Set objApp = Nothing






...全文
156 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38120359 2019-09-12
  • 打赏
  • 举报
回复

有三个问题与您的代码。 第一:常量xlSourceRange和xlHtmlStatic可能是未定义的。所以请改用它们的值。有关XlSourceType和XlHTMLType,请参阅https://msdn.microsoft.com/en-us/library/office/ff823068.aspx。 第二:With需要由Add返回的对象而不是Publish的响应。 第三:您已将DivID与Title搞混了。 Dim objApp, objBook, objRange, objSheet Set objApp = CreateObject("Excel.Application") objApp.Visible = False Set objBook = objApp.Workbooks.Open("C:\Dashboard\excel_files\Account Executive.xlsx") Set objSheet = objBook.worksheets("Account Executive") Set objRange = objSheet.Range("C5:I30") With objBook.PublishObjects.Add(4, "C:\EXCEL_TO_HTML_RANGE.htm", "Account Executive", objRange.Address, 0, "TableDIVID", "Title of the page") .Publish(True) End With objBook.Close False objApp.Quit Set objSheet = Nothing Set objRange = Nothing Set objApp = Nothing 的With .. End With可以用下面的代码来替换用于调试: ... Dim oPOs, oPO Set oPOs = objBook.PublishObjects Set oPO = oPOs.Add(4, "C:\EXCEL_TO_HTML_RANGE.htm", "Account Executive", "$C$5:$I$30", 0, "TableDIVID", "Title of the page") oPO.Publish (True) ...

473

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧