以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]RPC 服务器不可用。 (异常来自 HRESULT:0x800706BA)  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=160274)

--  作者:奶粉大王
--  发布时间:2021/1/27 11:17:00
--  [求助]RPC 服务器不可用。 (异常来自 HRESULT:0x800706BA)
RPC 服务器不可用。 (异常来自 HRESULT:0x800706BA)

这个报错是什么情况。

代码如下:循环超过2个文件就报错。1个或者2个文件则没问题

Dim dlg As new OpenFileDialog
dlg.MultiSelect = True
If dlg.ShowDialog = DialogResult.OK Then
    Dim app As New MSWord.Application
    try
        If FileSys.DirectoryExists(ProjectPath & "Attachments") = False Then
            FileSys.CreateDirectory(ProjectPath & "Attachments/")
        End If
        For Each filename As String In dlg.FileNames
           
            Dim doc = app.Documents.Open(fileName)
            Dim nr As Row = Tables("sdf").AddNew
            Dim t = doc.Tables(1)
 

            Dim text = t.Cell(1, 3).Range.Text.ToString()
            text = text.Substring(0, text.Length - 2)
nr("第一列") = text

 
 
            Doc.Close
        Next
    catch ex As exception
        msgbox(ex.message)
    finally
        app.Quit
    End try
End If

--  作者:有点蓝
--  发布时间:2021/1/27 11:27:00
--  
https://www.baidu.com/s?wd=RPC%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8D%E5%8F%AF%E7%94%A8%200x800706BA
--  作者:奶粉大王
--  发布时间:2021/1/27 11:41:00
--  

在使用方法Word._Document origDoc = wordApp.Documents.Open(ref lastFile, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);时 出现上述错误。

网上看了一些解决方法都不行。


最终发现是因为在前面有些方法执行了wordDoc.Close(oMissing, oMissing, oMissing);  wordApp.Quit(oMissing, oMissing, oMissing);的类似操作。我最终在Word._Document origDoc = wordApp.Documents.Open(ref lastFile, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing); 上面加了一句wordApp = new Microsoft.Office.Interop.Word.Application();

分析:

因为执行了wordApp.quit所以导致了wordApp空。调用wordApp = new Microsoft.Office.Interop.Word.Application();对wordApp重新生成对象,所以OK了。



FOXTABLE中如何处理?


--  作者:有点蓝
--  发布时间:2021/1/27 11:46:00
--  
Doc.Close去掉

或者

If dlg.ShowDialog = DialogResult.OK Then
    
    
        If FileSys.DirectoryExists(ProjectPath & "Attachments") = False Then
            FileSys.CreateDirectory(ProjectPath & "Attachments/")
        End If
        For Each filename As String In dlg.FileNames
try
           Dim app As New MSWord.Application
            Dim doc = app.Documents.Open(fileName)
[此贴子已经被作者于2021/1/27 11:46:41编辑过]

--  作者:奶粉大王
--  发布时间:2021/1/27 11:54:00
--  
可以了 谢谢