以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]服务器出现意外情况。(异常来自 HRESULT:0x80010105(RPC_E_SERVERFAULT))  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=127468)

--  作者:fczhaobo
--  发布时间:2018/11/14 21:11:00
--  [求助]服务器出现意外情况。(异常来自 HRESULT:0x80010105(RPC_E_SERVERFAULT))
执行到红色字的那句代码就出错,服务器出现意外情况。(异常来自  HRESULT:0x80010105(RPC_E_SERVERFAULT))
在最初设计时还没有问题呢,不知道何故就出理了!我在论坛里搜过,好几个类似的,都没有一个正确的答案,我总觉得和office 的安装没有关系吧?

If DataTables.Contains("ffb") = True  Or _tablename <>"" Then \'如果存在统计表1
    MessageBox.Show("系统中存在数据,请直接查看数据或重启本软件后再进行导入工作! ")
    Return
End If

Dim xlsname As String
\'选择性导入xls
Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xls" \'设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮

    If dlg.FileName="" Then
        Return
    End If
 MessageBox.show("1")  
    Dim App As New MSExcel.Application
 MessageBox.show("2")  
    Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(dlg.FileName)    \'只要执行这段就出错
 MessageBox.show("3")   
    If Wb.WorkSheets.Count <> 1 Then
        MessageBox.show("所导入的Excel文件中数据表大于1个,请保留需要导入的,删除多余的数据表!")
        Return
    End If

    For Each Ws As MSExcel.WorkSheet In Wb.WorkSheets
        MessageBox.Show("所导入Excel文件 " & dlg.FileName & " 中的数据表名为: " & Ws.Name)
        xlsname=ws.name
    Next

    App.Quit
    
    Dim ip As New Importer
    ip.SourcePath = dlg.FileName \'指定数据文件
    ip.SourceTableName = xlsname & "$" \'指定要导入的表
    ip.NewTableName ="ffb" \'导入后的表名
    _tablename="ffb"
    ip.Format = "Excel" \'指定导入格式
    ip.Import()
    MessageBox.show("数据导入需要保存,请耐心等待!","提示")
    DataTables(_tablename).Save

   MessageBox.show("数据保存成功,可进行下一步!","提示")
End If

--  作者:fczhaobo
--  发布时间:2018/11/14 21:26:00
--  
已经解决,算是给其他朋友一个帮助,
必须在Dim App As New MSExcel.Application 的后面加入:
App.Visible = True
这句话
[此贴子已经被作者于2018/11/14 21:27:24编辑过]

--  作者:有点甜
--  发布时间:2018/11/14 21:38:00
--  

一般是pdf软件的问题。

 

卸载pdf即可。也可以不用卸载,确定是pdf软件的问题,我也是安装完pdf阅读软件后出现这样的问题,在网上找了一下,发现是pdf软件占用了EXCEL的com端口,只要在EXCEL 中的com加载项里把对应的pdf软件的加载项勾掉就可以了。


--  作者:有点甜
--  发布时间:2018/11/14 21:39:00
--  

要学会搜索

 

https://www.cnblogs.com/angel-J/p/7527065.html

 

https://www.baidu.com/baidu?wd=0x80010105

 


--  作者:jiterp
--  发布时间:2019/5/16 16:02:00
--  
出现这个问题,按照以下方式处理好了,想问:可不可以用代码绕过这个问题吗?

在excel2007,找到“excel选项”,点开后点击“加载项”,最下面有个管理加载项的下拉菜单,选“COM加载项”,点“转到”,这时会弹出一个框,把里面pdf软件的加载项前面的勾去掉,点确定就ok了。

--  作者:有点甜
--  发布时间:2019/5/16 16:34:00
--  
以下是引用jiterp在2019/5/16 16:02:00的发言:
出现这个问题,按照以下方式处理好了,想问:可不可以用代码绕过这个问题吗?

在excel2007,找到“excel选项”,点开后点击“加载项”,最下面有个管理加载项的下拉菜单,选“COM加载项”,点“转到”,这时会弹出一个框,把里面pdf软件的加载项前面的勾去掉,点确定就ok了。

 

不可以。