美文网首页
【Excel】居然解決了一個互联网长达十年以上無解的問題!!!

【Excel】居然解決了一個互联网长达十年以上無解的問題!!!

作者: MrJ老经 | 来源:发表于2018-08-16 15:18 被阅读0次

上年离职在家搞装修的时候还是脑不停手不停,根据自己这几年的工料测量/工程造价 工作的习惯,除了用VBA编写了钢筋平法锚固&搭接长度速查表,还编写了Ribbon Tab的小插件。本想上班的时候能用得上,但公司电脑加载XLMA文件的时候却出现这个提示“系统错误 &H8000 FFFF(-2147418113)。灾难性故障”▼

由于当时工作量太大无暇顾及,我便选择放弃了治撩,及至后来重装了新的操作系统,插件复活了,我还一度认为简单的认为是系统原生文件的问题。

及至今年一些特殊原因,在新东家的机子又重灌了操作系统。这错误又出现了。一年过去了,再次搜寻答案,这次还硬着头皮把法文的一个BBS回复也机翻着啃了,网上还是没一个可以解决的个案。本着哥好歹当年也是计算机科学与技术专业毕业的,就来了次教科式的排错,居然把问题给解决了

 sdfasdfasdf

原因分析

&H8000FFF 是个内存地址,计算机专业的人一看就知道是内存寻址的问题。后来再弹出的“内存溢出”的对话框就算是用一点点人话解释上之前弹框的系统代码。由于我的插件模块有很多个,不妨缩小一下出错的范围

Ribbon Tab▲ + Custom ContextMenu▼

点击全部项测试之后,没有操作窗口的运行过程代码全部没有报错,有操作弹框的项目,这次发现只有关于M-Contoso的窗口出现崩溃,也就说那个窗口使用的与其它窗口不同的控件或者设置出问题了。而上年的话,比较夸张,连弹出窗口的都崩溃了,也就是有可能连原生引用的几个库都出现问题;

修复对象

上文提及库这个名词,不明白的话继续往下看,ALT+F11打开编辑环境▼

工具→引用

▼引用组件

出现本文要解决的内存寻址问题,与上面窗口打的组件有关。

1.Visual Basic For Applications,一般打开编辑环境没直接报错,基本与它没关系。如果有关系那好办,重装修复Office或者顺带升级新版本能复活;

2.Microsoft Office/Excel 16.0 Object Libary(16.0对应是2016的Office版本,15.0对应2013,14.0对应2010), 这两个库提供的是原本office里面原生的对象、方法和属性,如果没有操作窗口的运行过程代码没报错的话,就可以证明内存溢出与这两个库都没关系。如果居然神奇地发现有关联的,处理方法参照第1点;

3.OLE Automation,这个与数据库连接的组件要比其它组件复杂得多,如果电脑里有SQLSever,就逐个排错吧,没有的话,那用MS原盘重装系统是最后的选择(不要用GHOST安装的版本,就算换了个GHOST失败的机率仍然很高,其实有些时候就是GHOST封装系统的DLL、OCX的内存读址偏移问题)

4.Microsoft Forms 2.0 Object Libary,如果不是全部有窗体初始化都出现问题的话在没报错的电脑上试删除出错窗体的某些控件或者代码,通过导入导出文件的方法测试一下到底是哪个控件或代码出问题。

如果是全部窗体初始化都报错的话,那么把没报错电脑的FM20.DLL复制到报错电脑中,用Regsvr32/u FM20.DLL 命令解除原系统GUID接口,再用Regsvr32 FM20.DLL 重新注册。如果都不行的话,放弃治疗或者MS原盘重装系统吧;

上节,我很快的就可以确定是下面窗口引用Micsoft Forms 2.0 Object Library里面的一个控件出问题或者设置出问题了▼

由于窗体很简单,我就干脆把UI都改了,虽然还是很简陋▼

然而后来用导出导入模块方法测试了,然后是一行点击图片触发的代码出问题:

CreateObject("wscript.shell").Run "https://creativecommons.org/licenses/by-sa/3.0/cn/"

相关文章

  • 【Excel】居然解決了一個互联网长达十年以上無解的問題!!!

    上年离职在家搞装修的时候还是脑不停手不停,根据自己这几年的工料测量/工程造价工作的习惯,除了用VBA编写了钢筋平法...

  • 【500字】3.关于任务分解

    今天上午我用了將近4個小時的時間,解決了對程序員來說非常容易解決的問題,該問題如下: 作爲程序員的你,可能笑了,如...

  • 設計思考與邏輯思考的異與同

    1.同樣都是問題解決的方法,設計思考是解不同決人所遇到的問題為主,邏輯思考是解決事的問題 2.兩者都有一定的階段步...

  • 面對問題、解決問題!

    在我的認知裡對於面對問題和解決問題意識一直不強,我覺得只出問題就可以了,解決問題不是我的事情,等待別人解...

  • 現實中的很多問題,根本沒有答案!

    上學的時候,所有問題都須有個答案,否則考試就會有問題,工作的時候,能夠解決問題才有價值,否則能否工作是個問題,充滿...

  • 搜尋只是第一步

    常聽長輩說,答案長在嘴上,遇到問題很習慣直接問人,為的是用最快速的時間解決眼前的問題,往往解決了立即性的問題,卻在...

  • Jamie個案預約

    本人正式開始接受個案預約,歡迎預約! 個案重點解決問題 認識自己,瞭解自己個人價值發掘個人內在衝突解決父母親密關係...

  • 遇到難題時不妨試試這個方法

    [遇到難題時不妨試試這個方法] 如果你遇到不知道如何解決的問題,那不妨試試看去看看跟你遇到一樣問題的人怎麼解決,這...

  • 高效能人士的七個習慣讀後感(九)

    1 愛因斯坦曾說,重大問題發生時,以我們當時的思想水平往往無法解決問...

  • 婆婆

    總是說婆婆媽媽最麻煩,現今我也發現了,婆婆今天說了一個主意,一個她喜歡的方式去解決一些問題。 問我,認...

网友评论

      本文标题:【Excel】居然解決了一個互联网长达十年以上無解的問題!!!

      本文链接:https://www.haomeiwen.com/subject/inxobftx.html