Asp.net 在vb.net中打开和保存word文档-关闭可见性时出错
我正在打开一个word文档并用以下代码将其保存为html。如果我设置objWord.Visible=False,我会得到一个错误:HRESULT:0x800A1098中的异常,我认为这表明没有要打开的内容。 如果我设置objWord.Visible=True,代码将正常运行,但我不希望最终用户看到word的运行。非常感谢您的帮助 提前谢谢Asp.net 在vb.net中打开和保存word文档-关闭可见性时出错,asp.net,vb.net,ms-word,Asp.net,Vb.net,Ms Word,我正在打开一个word文档并用以下代码将其保存为html。如果我设置objWord.Visible=False,我会得到一个错误:HRESULT:0x800A1098中的异常,我认为这表明没有要打开的内容。 如果我设置objWord.Visible=True,代码将正常运行,但我不希望最终用户看到word的运行。非常感谢您的帮助 提前谢谢 Protected Sub btnUpload_Click(ByVal sender As Object, ByVal e As EventArgs)
Protected Sub btnUpload_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim objWord As Microsoft.Office.Interop.Word.ApplicationClass = New ApplicationClass()
If Not (fUpload.HasFile) Then
lblMessage.Text = "Please choose file to upload"
Else
Try
Dim strFileName As String = fUpload.FileName
Dim strSep As String() = fUpload.FileName.Split("."c)
Dim arrLength As Integer = strSep.Length - 1
Dim strExt As String = strSep(arrLength).ToString().ToUpper()
'Save the uploaded file to the folder
strPathToUpload = Server.MapPath("Uploaded")
strPathToConvert = Server.MapPath("WordToHtml")
Dim FileName As Object = (strPathToUpload & "\") + fUpload.FileName
Dim FileToSave As Object = (strPathToConvert & "\") + Left(fUpload.FileName, Len(fUpload.FileName) - 4) & ".htm"
If strExt.ToUpper().Equals("DOC") Then
fUpload.SaveAs((strPathToUpload & "\") + fUpload.FileName)
lblMessage.Text = "File uploaded successfully"
'open file in word
objWord.Documents.Open(FileName, missing, [readOnly], missing, missing, missing, missing, missing, missing, missing, missing, isVisible)
objWord.Visible = False 'error occures here if False
Dim oDoc As Microsoft.Office.Interop.Word.Document = objWord.ActiveDocument
If oDoc.Application.Version = "12.0" Then ' Word 2007 version
oDoc.SaveAs2(FileToSave, fltDocFormat, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing)
Else ' word 2003 version
oDoc.SaveAs(FileToSave, fltDocFormat, missing, missing, missing, missing, missing, missing, missing, missing, missing)
End If
Else
lblMessage.Text = "Invalid file selected!"
End If
'Close/quit word
objWord.Quit(missing, missing, missing)
Catch ex As Exception
objWord.Quit(missing, missing, missing)
Response.Write(ex.Message)
End Try
End If
End Sub
你可以试试
Dim objWord As Microsoft.Office.Interop.Word.ApplicationClass = CreateoBject("Word.Application")
一般来说,除非已经加载了word,否则在以这种方式创建word自动化对象时,我从来不知道这些对象是可见的
另外,您似乎正在向DOCUMENTS.OPEN函数传递一个ISVISIBLE参数,但我无法判断它的值是什么。如果为FALSE,则应将文档加载到一个隐藏窗口中,即使Word已打开,用户也无法看到该窗口。在打开文档之前,您是否尝试将Visible设置为FALSE?感谢drventure-是ISVISIBLE导致了此问题。我在本地主机上运行它,但当我下载到doscontasp.net时,我发现服务器必须安装word,而他们没有。是否有解决方法,或者无法将word文档保存为html?