标题:求教VB将excel转换为网页文件的代码!
只看楼主
事业男儿
Rank: 2
等 级:论坛游民
帖 子:308
专家分:14
注 册:2007-4-25
结帖率:81.69%
已结贴  问题点数:20 回复次数:7 
求教VB将excel转换为网页文件的代码!
各位老师跪求一段VB将某个文件夹里面的文件,excel转换为网页文件的代码,
网上很少介绍这方面的内容,找到一行代码看不懂。
xlSheet.SaveAs FileName:="c:/te.htm",FileFormat:=xlHtml
请各位路过老师指点一下。谢谢!
搜索更多相关主题的帖子: 代码 文件 网页 VB excel 
2021-04-08 11:32
apull
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:三体星系
等 级:版主
威 望:185
帖 子:1404
专家分:8479
注 册:2010-3-16
得分:0 
xlSheet.SaveAs 另存
FileName:="c:/te.htm",  文件名
FileFormat:=xlHtml   格式
2021-04-08 14:15
事业男儿
Rank: 2
等 级:论坛游民
帖 子:308
专家分:14
注 册:2007-4-25
得分:0 
回复 2楼 apull
老师能否搞个实例源码
xlSheet.SaveAs '另存
FileName = "c:/te.htm" '文件名
FileFormat = xlHtml '格式


谢谢
2021-04-08 17:04
apull
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:三体星系
等 级:版主
威 望:185
帖 子:1404
专家分:8479
注 册:2010-3-16
得分:0 
手头只有vs2015,vb6大同小异。

引用里添加Microsoft Excel 16.0 Object Library
offie用的是2019,所以是16.0的版本,添加你电脑上的版本就行。

窗口上只添加了一个按钮。

程序代码:
Public Class Form1

    Dim xlApp As Microsoft.Office.Interop.Excel.Application
    Dim xlBook As Microsoft.Office.Interop.Excel.Workbook
    Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet
    Dim xlhtml As Microsoft.Office.Interop.Excel.XlFileFormat

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim XlsxDir As String = "D:\Documents\Desktop\tt\"
        Dim HtmlDir As String = "D:\Documents\Desktop\tt\html\" '必须已存在
        Dim sFile As String

        xlApp = CreateObject("Excel.Application") '创建EXCEL对象  
        sFile = Dir(XlsxDir)

        Do While (Not sFile = "")
            Debug.Print(sFile)

            xlBook = xlApp.Workbooks.Open(XlsxDir & sFile)
            xlBook.SaveAs(HtmlDir & sFile & ".html", FileFormat:=xlhtml.xlHtml)
            xlBook.Close(False) '关闭工作簿

            sFile = Dir()
        Loop

        xlApp.Quit() '结束EXCEL对象
        xlApp = Nothing '释放xlApp对象

        Debug.Print("OK")

    End Sub
End Class
2021-04-09 00:27
事业男儿
Rank: 2
等 级:论坛游民
帖 子:308
专家分:14
注 册:2007-4-25
得分:0 
回复 4楼 apull
VB将excel转网页.rar (1.43 KB)
还是没有搞懂 继续求教。
2021-04-09 09:56
apull
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:三体星系
等 级:版主
威 望:185
帖 子:1404
专家分:8479
注 册:2010-3-16
得分:0 
上面的代码在vs2015下正常运行的。

下面这个用的vb6绿色版试了下
运行下面保存为html的时候程序会退出,不知是不是版本不兼容引起的。

程序代码:
Private Sub Save()
    
        Dim xlApp As Excel.Application
        Dim xlBook As Excel.Workbook
        Dim xlSheet As Excel.Worksheet
        Dim sFile As String
        
        XlsxDir = "d:\Documents\Desktop\tt\"
        HtmlDir = "d:\Documents\Desktop\tt\html\"  '必须已存在
                
        sFile = Dir(XlsxDir)
        Do While (Not sFile = "")
        
            Debug.Print (XlsxDir & sFile)
            
            Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象
            
            Set xlBook = xlApp.Workbooks.Open(XlsxDir & sFile) '打开Excel文件
            xlBook.SaveAs HtmlDir & sFile & ".html", Excel.XlFileFormat.xlHtml, ReadOnlyRecommended:=False, CreateBackup:=False '保存html文件
            xlBook.Close (False) '关闭Excel文件
            Set xlBook = Nothing
            
            xlApp.Quit  '结束EXCEL对象
            Set xlApp = Nothing '释放xlApp对象

            sFile = Dir()
            DoEvents
        Loop

        Debug.Print ("OK")
End Sub


还有个就是使用excel的宏进行批量保存,在excel 2016上正常运行的。
程序代码:
Sub SaveHtml()

        XlsxDir = "d:\Documents\Desktop\tt\"
        HtmlDir = "d:\Documents\Desktop\tt\html\"  '必须已存在
                
        sFile = Dir(XlsxDir)
        Do While (Not sFile = "")
            Workbooks.Open Filename:=XlsxDir & sFile
            
            ActiveWorkbook.SaveAs Filename:=HtmlDir & sFile & ".html", _
                FileFormat:=xlHtml, ReadOnlyRecommended:=False, CreateBackup:=False
            ActiveWindow.Close
            
            sFile = Dir()
            DoEvents
        Loop
End Sub
2021-04-09 13:40
事业男儿
Rank: 2
等 级:论坛游民
帖 子:308
专家分:14
注 册:2007-4-25
得分:0 
VB转excel.zip (98.4 KB)

程序代码:
Private Sub Command1_Click()
Dim xlApp As Excel.Application
        Dim xlBook As Excel.Workbook
        Dim xlSheet As Excel.Worksheet
        Dim sFile As String
        
        XlsxDir = App.Path & "\w\"
        HtmlDir = App.Path & "\w\html\" '必须已存在
        
         'XlsxDir = "d:\Documents\Desktop\tt\"
         'HtmlDir = "d:\Documents\Desktop\tt\html\"  '必须已存在
                
        sFile = Dir(XlsxDir)
        Do While (Not sFile = "")
        
            Debug.Print (XlsxDir & sFile)
            
            Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象
            
            Set xlBook = xlApp.Workbooks.Open(XlsxDir & sFile) '打开Excel文件
            xlBook.SaveAs HtmlDir & sFile & ".html", Excel.XlFileFormat.xlHtml, ReadOnlyRecommended:=False, CreateBackup:=False '保存html文件
            xlBook.Close (False) '关闭Excel文件
            Set xlBook = Nothing
            
            xlApp.Quit  '结束EXCEL对象
            Set xlApp = Nothing '释放xlApp对象

            sFile = Dir()
            DoEvents
        Loop

        Debug.Print ("OK")
End Sub



老师:我在转换网页的时候怎么会多一个文件夹呢?有点类似于将网页保存在本地一样,也有文件夹。如果直接在excel上保存为网页的时候是没有文件夹的。在哪儿改一下呢?谢谢!
2021-04-09 18:52
apull
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:三体星系
等 级:版主
威 望:185
帖 子:1404
专家分:8479
注 册:2010-3-16
得分:20 
我用的officd2016在用Excel另存为html文件的时候会有这个文件夹,里面保存的是每个Sheet1页面。
2021-04-09 20:27



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-505371-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.149401 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved