我想把我的word文件重新保存为htm文件,以便制作windows帮助文件。
出错代码是Set oDoc = oWordApp.Documents.Open(Titel)
日文提示我看不明白,请大家帮我改进改进!!
Option Explicit
'Microsoft Internet Controls
'引用 Microsoft Scripting Runtime
Dim oWordApp As Word.Application 'WORD 应用
Dim oDoc As Word.Document 'WORD 文档
Dim Fso As FileSystemObject
Dim Fol As Folder
Dim Fil As File
Private Sub Command1_Click()
Dim Titel As String
oWordApp.WindowState = wdWindowStateMinimize
For Each Fil In Fol.Files
Titel = vbNullString
Titel = Fil.Name
ReadWordDocument (Titel)
DoEvents
Next
End SubPrivate Sub Form_Load()
Me.Show
Set oWordApp = New Word.Application Set Fso = CreateObject("Scripting.FileSystemObject")
Set Fol = Fso.GetFolder("D:\Doc")End Sub
Sub ReadWordDocument(Titel As String)
' Set oDoc = New Document
Set oDoc = oWordApp.Documents.Open(Titel)
oDoc.SaveAs "D:\Htm\" & Mid(Titel, 1, Len(Titel) - 4) & ".htm"
oDoc.Close
Set oDoc = Nothing
End SubPrivate Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Set oWordApp = Nothing
Set Fil = Nothing
Set Fol = Nothing
Set Fso = Nothing
End Sub
出错代码是Set oDoc = oWordApp.Documents.Open(Titel)
日文提示我看不明白,请大家帮我改进改进!!
Option Explicit
'Microsoft Internet Controls
'引用 Microsoft Scripting Runtime
Dim oWordApp As Word.Application 'WORD 应用
Dim oDoc As Word.Document 'WORD 文档
Dim Fso As FileSystemObject
Dim Fol As Folder
Dim Fil As File
Private Sub Command1_Click()
Dim Titel As String
oWordApp.WindowState = wdWindowStateMinimize
For Each Fil In Fol.Files
Titel = vbNullString
Titel = Fil.Name
ReadWordDocument (Titel)
DoEvents
Next
End SubPrivate Sub Form_Load()
Me.Show
Set oWordApp = New Word.Application Set Fso = CreateObject("Scripting.FileSystemObject")
Set Fol = Fso.GetFolder("D:\Doc")End Sub
Sub ReadWordDocument(Titel As String)
' Set oDoc = New Document
Set oDoc = oWordApp.Documents.Open(Titel)
oDoc.SaveAs "D:\Htm\" & Mid(Titel, 1, Len(Titel) - 4) & ".htm"
oDoc.Close
Set oDoc = Nothing
End SubPrivate Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Set oWordApp = Nothing
Set Fil = Nothing
Set Fol = Nothing
Set Fso = Nothing
End Sub
'Microsoft Internet Controls
'引用 Microsoft Scripting Runtime
Dim oWordApp As Word.Application 'WORD 应用
Dim oDoc As Word.Document 'WORD 文档
Dim Fso As FileSystemObject
Dim Fol As Folder
Dim Fil As File
Private Sub Command1_Click()
Dim Titel As String
oWordApp.WindowState = wdWindowStateMinimize
For Each Fil In Fol.Files
Titel = vbNullString
Titel = Fil.Name
ReadWordDocument (Titel)
DoEvents
Next
End SubPrivate Sub Form_Load()
Me.Show
Set oWordApp = New Word.Application Set Fso = CreateObject("Scripting.FileSystemObject")
Set Fol = Fso.GetFolder("C:\")End Sub
Sub ReadWordDocument(ByVal Titel As String)
If InStr(1, Titel, ".doc", vbTextCompare) <= 0 Then Exit Sub
' Set oDoc = New Document
Set oDoc = oWordApp.Documents.Open("C:\" & Titel)
oDoc.SaveAs "D:\Htm\" & Mid(Titel, 1, Len(Titel) - 4) & ".htm", wdFormatHTML
oDoc.Close
Set oDoc = Nothing
End SubPrivate Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Set oWordApp = Nothing
Set Fil = Nothing
Set Fol = Nothing
Set Fso = Nothing
End Sub
'已更正,把C盘下的所有doc文件转为D:\Htm\xxx.htm文件
1.你没判断文件类型
2.传入路径中不包含路径,只有文件名
3.没有指定转换为html格式
更正这三点就完成任务了
另外代码风格也不大好噢,嘿嘿
Titel = Fil.Name
-------------------------------
Fil.Name得到的仅仅是文件名,用Fil.Path得到的才是全路径
没有传入文件类型就是我的粗心了,不好意思哦,我说怎么老是打不开呢?给出的日文提示我也看不明白。
没有指定转换为html格式 这个嘛就是我不会,呵呵,还有风格问题,我以后一定改正改正!
谢谢2位
2 是保存文件的路径:
oDoc.SaveAs "D:\Htm\" & Mid(Titel, 1, Len(Titel) - 4) & ".htm"
改为:
oDoc.SaveAs Mid(Titel, 1, Len(Titel) - 4) & ".htm"
Set oWordApp = Nothing 后还是存在一个word应用,里面虽然已经没有文档了!!
'oWordApp.Quit False
'Set oWordApp = Nothing
oWordApp.DisplayAlerts = False '退出的时候不给出提示,直接退出
oDoc.Close False
oWordApp.Quit
Set oDoc=Nothing
Set oWordApp = Nothing
Set Fil = Nothing
Set Fol = Nothing
Set Fso = Nothing
End Sub