使用 excel 打开 html 文档,使用批处理文件另存为 xls

使用 excel 打开 html 文档,使用批处理文件另存为 xls

我想运行一个批处理文件,该文件将使用 excel 打开一个 html 文件,然后将打开的 html 文件保存为 xls 或 xlsx 文档。理想情况下,该批处理将安排在每晚运行。使用如下所示的简单代码将在 excel 中打开一个 html 文档

start excel test.html

我遇到的问题是如何继续使用代码。有人能提供一些见解吗?

答案1

只是为了结束这个问题:

这个问题的解决方案是编写两个脚本:第一个是用 excel 编写的 vba 脚本,保存到 xlsm 文档中。第二个是 .bat 文件,它将运行前面提到的 xlsm 文档以触发 vba 脚本,最终将 html 文档转换为 xlsx。

第一步:在 Excel 中,有两件事要做:创建将 html 文档保存为 xlsx 文档的 VBA 代码(我们称之为 A)。第二步是创建 VBA 代码,该代码将自动运行前面提到的代码 [指定将 htlm 保存为 excel 文件然后关闭](我们称之为 B)。

A 的代码是

Sub Open_HTML_Save_XLSX()
    Workbooks.Open Filename:="**NameOfHTMLfileHere.HTML"
    ActiveWorkbook.SaveAs Filename:= _
        "**NewName.XLSX", FileFormat:= _
        xlOpenXMLWorkbook
    ActiveWorkbook.Close
End Sub

您会注意到代码非常简单。总结一下代码,打开 html 文档,另存为 xlsx 文档,关闭工作簿。A 的代码进入模块部分。

对于 B 部分,您必须在 xlsm 文档的 Microsoft Excel 对象文件夹的“ThisWorkbook”部分中保存另一个 VBA 脚本。

Private Sub Workbook_Open()
   Call Open_HTML_Save_XLSX
   Application.Quit
End Sub  

再说一遍,没那么复杂。脚本只是说当你打开这个工作簿时运行 VBA 脚本,它将进行文件转换,然后退出 excel。

因此,一旦设置了 XLSM 文档,唯一要做的就是编写一个批处理脚本来打开 XLSM 文档,它将完成所有工作。

该批次非常简单:

echo on
start excel "vbatest.xlsm"

运行批处理,打开 xlsm 文档。打开 Xlsm 文档会触发 VBA 代码运行。然后,VBA 代码会打开所需的 html 文档并将其保存为 xlsx。然后 Excel 关闭,批处理文件已运行完毕,您的目标已实现。

就这样吧,大家,谢谢你们送来的鱼。

相关内容