Excel VBA“找不到工程或库”错误解决
- 格式:doc
- 大小:64.50 KB
- 文档页数:2
Excel VBA“找不到工程或库”错误解决前不久用Excel VBA给采购部做了个―供销存管理系统‖,结果在采购部的电脑上运行出现―找不到工程或库‖的错误,一般情况下,出现此错误是因为找不到引用工程,或找不到与工程语言对应的引用的对象库,还有就是安装Office精简版也会出现此类错误,解决方法:1、在VBE窗口中选择出错的VBA工程,快捷键:ALT+F112、在【工具】【引用】打开引用对话框3、查找带勾项中含―丢失…‖、―找不到…‖、―MISSING…‖的条目,并取消勾选!4、一般情况下,用第3步即可解决,如问题依旧,请在―可用的引用‖中查找并勾选与丢失的条目类似的引用(一般除版本号不同,其它名称相同,如有多个版本,请选择最高版本)如果还不能解决,可能是电脑中缺少控件或对象库,需要下载控件并注册,后返回上面步骤解决!Excel VBA找不到工程或库——————————————————————————–参考内置帮助文件:在解决丢失引用的问题前,不能运行代码。
这个错误的起因与解决方法如下所示:找不到引用工程,或找不到与工程语言对应的引用的对象库。
请在―引用‖对话框中将没有解决的引用加上MISSING 前缀。
选取丢失的引用,以显示丢失的工程或对象库的路径或语言。
以下是解决此问题的步骤:解决引用的步骤1.显示―引用‖对话框。
2.选取丢失的引用。
3.激活对象浏览器。
4.使用―浏览‖对话框以找寻丢失的引用。
5.单击―确定‖。
6.重复以上步骤,执行解决所有丢失的引用为止。
当您找到一个丢失的项目时,MISSING 前缀就会删除,表示链接已重新建立。
若引用的工程名已经改变,就会添加新的引用,并旧的引用必须删除。
要删除那些不必要的引用,只需清除不要的引用的复选框即可。
请注意,对于Visual Basic 对象库与主应用程序对象库的引用是不能删除的. 应用程序可以支持其对象库的不同语言版本。
要了解所需的语言版本,可单击该引用,选取在对话框下方指出的语言。
破解VBA中“工程不可查看”代码Private Sub IC_Click()Dim B As ByteDim index As DoubleDim fso As FileSystemObject '要先添加引用“Microsoft Scripting Runtime”dlg.ShowOpenFilename = dlg.FilenameIf Len(Filename) = 0 Then Exit SubSet fso = CreateObject("Scripting.FileSystemObject")On Error Resume Nextfso.CopyFile Filename, Filename & ".bak", TrueIf Err.Number = 70 Then Tip.Text = "文件备份失败..."Err.ClearOn Error GoTo 0SetAttr Filename, 0Open Filename For Binary As #1DoEventsindex = 1Do Until EOF(1)Get #1, index, BIf B = 67 Thenindex = index + 1Get #1, index, BIf B = 77 Thenindex = index + 1Get #1, index, BIf B = 71 ThenPut #1, index + 1, 10End IfEnd IfElseindex = index + 1End IfLoopClose 1Open Filename For Binary As #1index = 1Do Until EOF(1)Get #1, index, BIf B = 68 Thenindex = index + 1Get #1, index, BIf B = 80 Thenindex = index + 1Get #1, index, BIf B = 66 ThenPut #1, index + 1, 10 End IfEnd IfElseindex = index + 1End IfLoopClose 1Open Filename For Binary As #1index = 1Do Until EOF(1)Get #1, index, BIf B = 71 Thenindex = index + 1Get #1, index, BIf B = 67 ThenPut #1, index + 1, 10End IfElseindex = index + 1End IfLoopClose 1DoEventsEnd SubAUTOCAD VBA代码dvb文件“工程不可查看”破解发表于1年前因为要参考别人的代码,需要破解一些dvb的密码和工程不可查看设置。
如果不提供错误处理方法,VBA 在出错时会停留在出错之处。
Excel/VBA 提供 On Error 关键词来处理程序运行过程中的错误,具体有下面两种用法: 1. On Error Resume Next:当出错时跳到下一行继续运行。
2. On Error Goto Line:出错时跳到行号 Line。
这里行号 Line 可以为数字(不 为 0 和-1),也可以为字符串。
其它与之相关的还有: 1. On Error Goto 0:运行后,对错误的捕获被关闭。
程序出错时将自动中止。
2. On Error Goto -1:运行后,“Resume”和“Resume Next”将失效。
3. Resume:跳回并重新运行出错的行 4. Resume Next:跳回并运行出错位置的下一行。
上面各种语句的组合可以非常复杂。
下面是我半天时间的研究成果。
1.VBA 处理出错的两种方式设置 On Error Resume Next 在出错时直接运行下一行,然后可以通过 Err.Number 来判断是否出错然后进行相关处理。
Sub Demo1() On Error Resume Next Call doing_thing1 If Err.Number > 0 Then Call err_handler1 ' err handler deals with err in doing_thing2 Err.Clear End If Call doing_thing2 If Err.Number > 0 Then Call err_handler2 ' err handler deals with err in doing_thing2 Err.Clear End IfOn Error GoTo 0 Call doing_next_thing End SubOn Error Goto Line 的方法更强大, 在错误处理完毕之后还可以通过 Resume 或 Resume Next 返回原出错点或出错点的下一行。
Excel中使用VBA进行错误处理哎,说起Excel里的VBA,这可是个宝贝,但也挺让人头疼的。
我这人,对数字就有点儿过敏,特别是那密密麻麻的公式,眼睛都快看花了。
不过,有了VBA,就感觉不一样了,特别是那错误处理,简直就像给Excel戴上了一个隐形眼镜,看得清清楚楚。
记得有一次,我在一个项目里用到Excel,那数据量可大了去了。
本来想着,用公式处理一下就得了,可一运行,就出现了错误。
我一看,哎呀,怎么是这个错误,这是公式里的一个引用错误。
我当时就有点儿蒙,这可咋整啊?我当时就想,不能就这么算了,得想办法解决啊。
我就开始研究,研究来研究去,发现VBA里的错误处理功能还挺好用的。
我就在代码里加了几个关键字,比如“On Error Resume Next”,这样一来,程序遇到错误就不会停下来,而是继续运行。
结果,效果还挺好的,那个错误就顺利地被处理掉了。
我心里那个高兴啊,就像是得了个宝。
后来,我还用VBA写了个小脚本,专门用来检查和修复Excel里的错误。
这样一来,工作起来就轻松多了。
有一次,我同事小王拿着一个复杂的Excel表找我,说:“刘老师,这表里的数据有点问题,你帮忙看看。
”我一接过来,就发现,哎呀,这表里的数据格式五花八门,公式也错得不成样子。
我心想,这可不能再用那些常规方法了,得用VBA来处理。
我就一边和他说:“别急,别急,我来帮你。
”一边开始写代码。
我让他输入一些关键信息,比如表名、数据区域等。
然后,我就在VBA里添加了一些函数,来检查和修复这些错误。
不一会儿,小王就看着那整洁的表格,直点头:“刘老师,这太神奇了!”我说:“这就叫技术,懂了吗?”他嘿嘿一笑,说:“明白了,刘老师,以后我还得好好学学VBA。
”哎呀,说起这VBA,还真是挺有意思的。
有时候,你不得不佩服人类的智慧,竟然能想出这么个办法,让Excel变得更加智能。
不过,这东西也还是挺有挑战性的,你得不断地学习,才能掌握它。
有一次,我在网上看到一个高手写的VBA代码,那代码简直就跟我写的一样,我看了都惊叹不已。
一、Excel“工程不可查瞧”两种实现方法及破解关于Excel宏编程中,要用到一些技巧,如破解Excel宏加密。
今天我对一个Excel宏编程中进行日期限制进行了破解。
方法一(共用级锁定)1、先对excel档进行一般的vbaproject”工程密码保护。
2、打开要保护的档,选择∶工具--->保护--->保护并共用活页簿--->以追踪修订方式共用-->输入密码-->保存档。
完成後,当您打开“vbaproject”工程属性时,就将会提示∶“工程不可瞧!”方法二(推荐,破坏型锁定)用16进制编辑工具,如winhex、ultraedit-32(可到此下载)等,再历害点的人完全可以用debug命令来做、、、、、、用以上软体打开excel档,查找定位以下地方∶id="{00000000-0000-0000-00000}" 注∶实际显示不会全部为0 此时,您只要将其中的位元组随便修改一下即可。
保存再打开,就会发现大功告成!当然,在修改前最好做好您的文档备份。
至於恢复只要将改动过的地方还原即可(只要您记住了呵呵)。
破解方面,有网友说将CMG=,DPB=与GC=后的"="替换为"、"也可以的,我已测试过的确可以,这样更省事点。
用16进制编辑工具,如winhex、ultraedit-32打开X、xls文件,查找ID=、、、、、、, 或到文件尾查瞧,找到即可。
改其中的任意一位,存盘就可达到目的,注意:留有备份文件二、EXCEL宏保护密码破解-VBA工程密码破解在办公中我们常瞧到许多用宏(VBA)编写的EXCEL表格,而这些表格就如同一个数据库,我们可以选取或查询很多的数据,一般的这些数据就是存放在一个隐藏的工作表中的,那么要如何显示这个隐藏的工作表呢?我们可以打开宏编辑器(ALT+F11),再安CTRL+R打开专案,这时弹出窗会有所有的这个EXCEL的工用表,这时您就可以瞧瞧那些就是被隐藏的了,很多时候打开就是需要密码的,用以下方法解密后,再将解密后文件打开,依同样方法在工作表标签中右键>>检视程式码>>复制以下代码>>按F8执行Private Sub CommandButton1_Click()Worksheets("这里为您要显示的工作表名称")、Visible = TrueEnd Sub关于破解EXCEL VBA工程密码的方法,以下代码非常有效,首先建一新EXCEL文件,在工作表标签处右点>>检视程式码>>复制以下代码>>按F8执行在弹出窗中选您要您破解工程密码的EXCEL文件>>再按F5执行即可、Private Sub VBAPassword()'您要解保护的Excel文件路径= Application、GetOpen("Excel文件(*、xls & *、xla & *、xlt),*、xls;*、xla;*、xlt", , "VBA破解")If Dir() = "" ThenMsgBox "没找到相关文件,清重新设置。
VBA中错误处理的技巧与方法错误处理是编程中非常重要的一个方面,尤其是在使用VBA进行宏编程时。
通过正确处理错误,我们可以优化代码的执行过程,提高程序的稳定性和可靠性。
在本文中,我将向您介绍一些VBA中常用的错误处理技巧与方法。
1. 使用On Error语句VBA提供了一个特殊的关键字On Error,它允许我们在代码中捕获并处理错误。
通常情况下,您可以在代码的开始处使用On Error语句来启动错误处理机制。
例如:```On Error GoTo ErrorHandler```其中,"ErrorHandler"是一个用户定义的标签,它指定了错误处理的入口点。
如果在执行代码时发生错误,程序将跳转到该标签处,并执行相关的错误处理代码。
2. 使用Err对象当发生错误时,VBA会将错误信息存储在一个特殊的对象中,称为Err对象。
我们可以使用Err对象来获取有关错误的详细信息,如错误代码、错误描述等。
以下是一些常用的Err 对象属性:- Err.Number: 错误代码- Err.Description: 错误描述- Err.Source: 造成错误的对象或应用程序的名称通过使用Err对象,我们可以根据错误信息采取不同的措施,例如输出错误信息到日志文件、向用户显示错误消息等。
3. 使用Resume语句在处理错误时,我们可以使用Resume语句来控制程序的执行流程。
Resume语句有以下几种用法:- Resume Next: 忽略当前的错误,继续执行下一行代码。
- Resume Label: 跳转到指定的标签处继续执行代码。
使用Resume语句可以很灵活地处理错误,使程序能够继续执行而不中断。
4. 使用On Error Resume Next有时候,我们可能希望在某些情况下忽略所有的错误,直到执行完一段代码后再启用错误处理。
在这种情况下,可以使用On Error Resume Next语句。
Excel中的VBA错误处理方法与技巧在使用Excel的VBA编程时,经常会遇到各种错误和异常。
良好的错误处理机制可以帮助我们准确定位和解决问题,提高代码的健壮性和可靠性。
本文将介绍一些常见的VBA错误处理方法和技巧,帮助读者更好地处理Excel中的错误。
首先,我们需要了解几个常见的VBA错误类型。
在VBA中,常见的错误类型有以下几种:1. 运行时错误(Runtime Error):这是最常见的一种错误类型,通常是由于代码逻辑错误、数据类型不匹配等引起的。
2. 语法错误(Syntax Error):通常是因为VBA代码中存在错误的语法或拼写错误导致的。
3. 对象错误(Object Error):当我们尝试引用一个不存在的对象时,会发生这种类型的错误。
4. 输入错误(Input Error):当用户在运行宏时提供了无效或不正确的输入时,会发生这种类型的错误。
5. 系统错误(System Error):这种错误通常是由于系统资源不足或操作系统问题引起的。
接下来,我们将介绍一些VBA错误处理的方法和技巧:1. On Error语句:On Error语句是VBA中用于处理错误的重要语句。
它允许我们在代码执行过程中捕获错误并采取相应的措施。
On Error语句的常见用法是结合GoTo语句,使代码在发生错误时跳转到指定的错误处理代码段。
例如:```vbaSub Example()On Error GoTo ErrorHandler' 代码逻辑Exit SubErrorHandler:MsgBox "发生错误:" & Err.DescriptionEnd Sub```2. Err对象:Err对象是VBA中用于表示错误信息的对象。
它提供了一些属性,可以帮助我们获取有关错误的详细信息。
常用的Err对象属性包括:- Number:表示错误的数字代码。
- Description:表示错误的描述。
VBA错误处理与调试技巧VBA(Visual Basic for Applications)是一种在Microsoft Office应用程序中使用的编程语言。
它提供了很多功能强大的特性,可以帮助用户自动化任务、增强应用程序的功能。
然而,编写VBA代码时常常会遇到各种错误,这就需要我们学会如何正确地处理和调试这些错误。
本文将介绍一些常用的VBA错误处理和调试技巧,以帮助读者更好地理解和应对VBA代码中的错误。
一、错误处理基础1.1 引发错误VBA代码中的一个子程序可以通过使用"Err.Raise"语句来引发一个错误。
这可以是一个自定义的错误,也可以是一个系统定义的错误。
语法如下:Err.Raise Number, [Source], [Description], [HelpFile], [HelpContext]其中,Number是错误代码,Source是错误的源头(一般为函数或过程的名称),Description是错误的描述信息,HelpFile和HelpContext是提供帮助信息的文件和上下文。
1.2 处理错误VBA提供了一种处理错误的机制,即使用"On Error"语句。
使用"On Error"语句可以将错误处理的控制权交给指定的错误处理程序。
语法如下:On Error GoTo ErrorHandler在这之后的代码中,如果发生错误,程序将会跳转到名为ErrorHandler的标签处进行错误处理。
1.3 清除错误清除错误是指将错误状态重设为0,从而结束错误处理过程。
我们可以使用"On Error Resume Next"语句来清除错误。
当程序执行到这一语句时,如果发生错误,程序将会跳过该错误,并继续执行后续代码。
二、常见的VBA错误处理技巧2.1 错误处理程序为了更好地处理VBA代码中的错误,我们可以创建一个专门的错误处理程序。
VBA中错误排查的常用方法在使用VBA编程时,错误是一个常见的问题。
当程序出现错误时,及时排查和修复错误非常重要,以确保程序的正确运行和稳定性。
本文将介绍一些常用的VBA中错误排查的方法,帮助开发者快速定位和解决错误。
1. 使用错误处理语句错误处理语句是VBA中常用的处理错误的方法。
通过在代码中添加错误处理语句,可以捕获并处理各种类型的错误。
常见的错误处理语句有On Error GoTo语句和On Error Resume Next语句。
- On Error GoTo语句:当程序执行到错误发生位置时,会跳转到指定的错误处理代码段。
例如:```Sub ErrorHandling()On Error GoTo ErrorHandler' 代码块Exit SubErrorHandler:MsgBox "发生错误:" & Err.DescriptionEnd Sub```在这个例子中,当错误发生时,程序会跳转到ErrorHandler标签处执行相应的错误处理代码。
- On Error Resume Next语句:当程序执行到错误发生位置时,会忽略错误并继续执行下一条语句。
这种方法适用于某些情况下可以容忍错误的情况。
但是需要注意,在使用On Error Resume Next语句时,需要手动检查每个可能引发错误的语句的执行结果。
2. 使用调试工具VBA提供了一些强大的调试工具,帮助开发者在错误排查时定位问题。
常用的调试工具包括:- 单步执行:通过逐行执行代码,可以在程序运行过程中观察各个变量的值和代码的执行路径。
可以使用F8键进行单步执行,或者在代码中插入断点来实现。
- 监视窗口:监视窗口可以显示当前正在执行的过程中所有的变量及其值。
通过查看监视窗口的信息,可以找出代码执行过程中变量的改变和错误的原因。
- 立即窗口:立即窗口可以在代码执行过程中显示一些额外的信息。
通过在代码中插入Debug.Print语句,可以输出一些中间结果和调试信息。
VBA错误排查和解决方法总结VBA(Visual Basic for Applications)是一种宏语言,用于在Microsoft Office应用程序(如Excel、Word和PowerPoint)中编写自定义函数和宏。
然而,与其他编程语言一样,VBA代码也可能出现错误。
在本文中,我们将探讨一些常见的VBA错误,并提供解决方法总结。
1. 语法错误语法错误是最常见的VBA错误之一。
它们会在编译代码时引发错误,通常与未正确书写VBA语句或使用无效的VBA语法有关。
解决语法错误很简单,只需仔细检查代码并确保所有语句和函数的拼写和格式正确。
2. 值超出范围错误值超出范围错误(Overflow Error)通常发生在数值类型数据超出其容忍范围时。
这可能是由于变量类型不匹配或尝试进行不允许的数学运算引起的。
要解决这个问题,您需要确认所使用的变量是否具有足够的容量来存储所需的数据,并使用适当的变量类型。
3. 对象不存在错误对象不存在错误(Object Does Not Exist Error)通常发生在尝试引用一个不存在的对象时。
这可能是由于对象名称拼写错误、对象未被正确声明或对象在特定上下文中不可用引起的。
为了解决这个问题,您可以通过确认对象是否存在,或尝试用对象变量来引用对象,以避免直接引用可能导致的错误。
4. 下标越界错误下标越界错误(Index Out of Bounds Error)通常发生在尝试访问数组中不存在的元素时。
这可能是由于数组索引超出了有效范围,或者数组未被正确初始化引起的。
要解决这个问题,您可以通过检查数组的大小和索引范围,并确保正确初始化数组来避免下标越界错误。
5. 逻辑错误逻辑错误是指程序中有错误的逻辑或条件判断,导致计算或执行结果与预期不符。
解决逻辑错误可能需要仔细检查您的代码并确保逻辑和条件判断正确。
使用调试工具和技术(如断点和变量监视)也可以帮助您查找和解决逻辑错误。
6. 运行时错误运行时错误通常是在代码执行期间发生的错误,而不是编译时。
Excel VBA“找不到工程或库”错误解决
前不久用Excel VBA给采购部做了个―供销存管理系统‖,结果在采购部的电脑上运行出现―找不到工程或库‖的错误,一般情况下,出现此错误是因为找不到引用工程,或找不到与工程语言对应的引用的对象库,还有就是安装Office精简版也会出现此类错误,解决方法:1、在VBE窗口中选择出错的VBA工程,快捷键:ALT+F11
2、在【工具】【引用】打开引用对话框
3、查找带勾项中含―丢失…‖、―找不到…‖、―MISSING…‖的条目,并取消勾选!
4、一般情况下,用第3步即可解决,如问题依旧,请在―可用的引用‖中查找并勾选与丢失的条目类似的
引用(一般除版本号不同,其它名称相同,如有多个版本,请选择最高版本)
如果还不能解决,可能是电脑中缺少控件或对象库,需要下载控件并注册,后返回上面步骤解决!
Excel VBA找不到工程或库
——————————————————————————–
参考内置帮助文件:
在解决丢失引用的问题前,不能运行代码。
这个错误的起因与解决方法如下所示:
找不到引用工程,或找不到与工程语言对应的引用的对象库。
请在―引用‖对话框中将没有解决的引用加上MISSING 前缀。
选取丢失的引用,以显示丢失的工程或对象库的路径或语言。
以下是解决此问题的步骤:
解决引用的步骤
1.显示―引用‖对话框。
2.选取丢失的引用。
3.激活对象浏览器。
4.使用―浏览‖对话框以找寻丢失的引用。
5.单击―确定‖。
6.重复以上步骤,执行解决所有丢失的引用为止。
当您找到一个丢失的项目时,MISSING 前缀就会删除,表示链接已重新建立。
若引用的工程名已经改变,就会添加新的引用,并旧的引用必须删除。
要删除那些不必要的引用,只需清除不要的引用的复选框即可。
请注意,对于Visual Basic 对象库与主应用程序对象库的引用是不能删除的. 应用程序可以支持其对象
库的不同语言版本。
要了解所需的语言版本,可单击该引用,选取在对话框下方指出的语言。
对象库可以是扩展名为 .OLB 的独立文件,或者集成在动态链接库(DLL)中。
在每一个平台上,对象库存在不同的版本。
因此,当工程被移植到另一个平台上时,例如从Macintosh 到Microsoft Windows,那个平台的被引用库的正确语言版本,必须在主应用程序文档所指定的位置上可用。
对象库的文件名通常以下面的方式命名:
∙Windows(3.1 版与更早):应用程序代码+ 语言代码+ [版本].OLB。
例如:法文的Visual Basic for applications,Version 2 的对象库为VAFR2.OLB。
法文的Microsoft Excel 5.0 的对象库为XLFR50.OLB。
∙Macintosh:应用程序名代码+ [版本]. +OLB。
例如:
法文的Visual Basic for applications,Version 2 的对象库为VA FR 2 OLB。
会是法文的Microsoft Excel 5.0 的对象库为MS Excel FR 50 OLB。
假如不能在系统上找到丢失的工程或库,可接洽引用工程的作者。
若丢失的库是一个Microsoft 应用程序的对象库,可用下面的方式取得:
∙假如您有Microsoft electronic technical support services 的访问权,请参阅此帮助文件的技术支持一节。
在电子服务下,将会发现如何使用适当的服务选项的介绍。
∙假如没有Microsoft electronic technical support services 的访问权,可参考此Microsoft 对象库所在之应用程序的注意。
关于如何接触您当地的Microsoft 产品支持组织的信息,也能够在这个帮助文件的技术支持一节中找到。