以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- Retrieving the COM class factory for component with CLSID 错误的处理 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=189232) |
-- 作者:creastzh -- 发布时间:2023/11/18 5:48:00 -- Retrieving the COM class factory for component with CLSID 错误的处理 不知道这个问题发生的原因是什么? 此前运行基本正常, 现在偶尔发生一次. 谢谢! .NET Framework 版本:4.0.30319.42000 Foxtable 版本:2022.8.18.1 错误所在事件:自定义函数,ImportGDPErrorList 详细错误信息: Exception has been thrown by the target of an invocation. Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80080005 Server execution failed (Exception from HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)). |
-- 作者:有点蓝 -- 发布时间:2023/11/18 8:58:00 -- 函数代码发上来看看啊。提示com组件找不到,可能和其它软件有冲突,或者系统被破坏了 |
-- 作者:creastzh -- 发布时间:2023/11/18 16:04:00 -- 这个问题并不是一直出现, 有时候出现,刚才我又执行了一次,正常运行了. 下面是程序段: \'ImportGDPErrorList 导入GDP Error List.xlsx Dim s1 As Date = Date.Now Dim s2 As Date Dim s3 As TimeSpan Dim cg As Boolean = True Dim TableN As String = "GDPList" Dim yn As Integer If Not DataTables.Contains(TableN) Then yn = 1 DataTables.Load(TableN) DataTables(TableN).LoadFilter = "" DataTables(TableN).Load End If Tables(TableN).StopRedraw \'停止屏幕刷新 Dim fp As String = "P:\\General documents\\Worktime Data\\Fox Data\\Query\\" Dim ff = "GDP Error List.xlsx" Dim fpf As String = fp & ff If filesys.FileExists(fpf) Then Dim cn As String \'列名称 Dim i As Integer Dim App As New MSExcel.Application App.DisplayAlerts = False App.visible = True Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(fpf) Wb.RefreshAll \'MessageBox.Show(1) Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1) Dim Rg As MSExcel.Range = Ws.UsedRange Dim ary = Rg.value Dim cs As Integer = Rg.Columns.Count Dim c As Integer Dim Dic_Ex As New Dictionary(Of DataRow, Integer) cs = 13 Dim i1 As Integer = 0 Dim Filter As String For i = 2 To Rg.Rows.Count \'MessageBox.Show(i & "/" & Rg.Rows.Count & ", 姓名:" & ary(i,3)) If ary(i, 3) > "" Then \'姓名\'AndAlso ary(i, 3) = "姓名" Filter = "[Date]=# " & ary(i, 1) & "# and [姓名]=\'" & ary(I, 3).trim & "\' and [工单号] = \'" & ary(i, 5).trim & "\' and [问题描述]=\'" & ary(i, 8).trim & "\'" \'Output.Show(Filter) Dim dr As DataRow = DataTables(TableN).Find(Filter) If dr Is Nothing Then \'新增数据行 Dim ro As DataRow = DataTables(TableN).AddNew For c = 1 To cs cn = ary(1, c) \'列名 \'Output.Show(cn & ":" & ary(i,c)) ro(cn) = ary(i, c) Next i1 = i1 + 1 End If End If Next Tables(TableN).ResumeRedraw \'停止屏幕刷新 If i1 > 0 Then DataTables(TableN).Save End If If yn = 1 Then DataTables.Unload(TableN) App.quit End If s2 = Date.Now S3 = s2 - s1 Output.Show(s1 & " -- " & s2 & " 文件ImportGDPErrorList刷新经过时间s:" & s3.TotalSeconds) Dim dr1 As DataRow = DataTables("Data").Find("文件更新_文件名 = \'" & ff & "\'") dr1("文件更新_时间") = Date.Now dr1("SpentTime") = Round2(s3.TotalSeconds, 2) dr1.Save [此贴子已经被作者于2023/11/18 16:05:12编辑过]
|
-- 作者:有点蓝 -- 发布时间:2023/11/18 17:23:00 -- 可能是文件读取冲突。比如多个程序同时读取同一个文件。或者是在计划中,计划间隔小,第一次处理还没有完毕,又启动了第二次。或者是文件处于打开状态 |
-- 作者:creastzh -- 发布时间:2023/11/20 11:05:00 -- 可能是这个问题,这两天的测试中间出过1次同样的问题,其它时间都正常 |