请教怎么捕捉 VB IDE 中的代码
时间:2011-08-26
来源:互联网
作者: yrzzy 发布时间: 2011-08-26
把IDE中的代码文本截屏载入一个OCR识别框中,识别
作者: Veron_04 发布时间: 2011-08-26
我现在想实现的是,捕捉当前VB窗口中的所有代码,加以分析,在鼠标暂停捕捉单词后,首先在这些代码中检索,看这个单词是不是窗体中、过程中或自定义函数中声明的变量,还是某个控件的名称,如果不是,再检索数据库给出结果进行提示。
用OCR不能捕捉当前窗口的所有代码,就算捕捉稍大的一块进行识别,效率也是一个问题。只有直接捕捉文本才能实现了,敬请高手解答。
作者: yrzzy 发布时间: 2011-08-26
作者: Veron_04 发布时间: 2011-08-26
作者: yrzzy 发布时间: 2011-08-26
作者: yrzzy 发布时间: 2011-08-26
作者: Veron_04 发布时间: 2011-08-26
作者: yrzzy 发布时间: 2011-08-26
正在编写一个VB编程的辅助软件,需要在运行后能够捕捉VB代码窗口的文本,查了一些资料,可以实现捕捉别的程序窗口的句柄、类名、标题,可以捕捉记事本窗口的文本内容,但无法捕捉 VB自己的 IDE 窗口的代码文本。请教大家,要怎样才能捕捉VB代码窗口的内容呢?用GetWindowText实现不了。
创建一个外接程序,可以操作IDE的任何东西
作者: worldy 发布时间: 2011-08-26
具体原理和这个一样。
学好了就可以把你自已的工程有多少函数都列出来,哪些函数要修改一下或加些字或行上去都可以了。
VBProject:代码操作代码之常用语句
http://blog.sina.com.cn/s/blog_51f1e43301009716.html
http://www.accessoft.com/blog/article-show.asp?userid=3967&id=4927
VBA代码编程方法详解(一)
摘 要:VBA代码编程方法详解(第一部分)
正 文:
一、前言
本文所说的VBA代码编程,即通过编程方法创建、删除或编辑VBA工程部件、模块或代码程序对象,还可以通过VBA代码创建新的代码,以此可以实现VBA的二次开发。
VBA代码编程,也就是所谓的VBA可扩展性。要实现VBA扩展功能,或者说实现对VBA代码的编程,我们必须事先完成以下相关设置。
1.1 引用VBA扩展类库(Microsoft Visual Basic For Applications Extensibility 5.3)
在ACCESS 2003中扩展库文件为:VBE6EXT.OLB,你可以在VBE(Visual Basic Editor即VB编辑器)窗口,点菜单 [工具] — [引用],在 [引用对话框] 中钩,来手动引用该扩展类库,你也可以通过代码实现对其的引用。
作者: xiaoyao961 发布时间: 2011-08-26
作者: xiaoyao961 发布时间: 2011-08-26
Vb程序的调试(2010-05-01 20:47:08)转载标签: it 分类: 技术文章
要做一个程序,写代码只是其中的一部分,更重要的部分是调试程序,如果你写的是一种玩具程序,基本上不会出什么错,也就没有调试的必要。不过,更多的情况是,程序运行正常,但结果却跟我们预期的不一样。这时候就要调试了。
一般我们都会跟着程序一行一行的走,看问题到底出在什么地方,程序运行中,各个变量的值是我们比较关心的东西。那怎么查看变量的值呢。
先设上断点,让程序在想看的地方停下来。鼠标指向想看的变量,它的值就会显示出来。还可以看到值的方法有,监视窗口,本地窗口,而且还可以修改变量的值。
还有一种方法是msgbox把变量的值弹出来,但是这样弹出来的值,只能看,不能改,也不能复制。不过我们可以在立即窗口把这个值输出来。
Debug.print 变量
这样就可以把变量的值输到立即窗口,但程序也不会中断,输出来的值也可以复制。另外,在立即窗口可以直接写代码。
但是立即窗口的内容却不会自动清除。
让程序清除立即窗口的内容
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Const WM_ACTIVATE As Long = &H6
'调用这个函数就可以清除立即窗口的内容
Dim ideHwnd&, debugFrmHwnd&
ideHwnd = FindWindow("wndclass_desked_gsk", vbNullString)
If ideHwnd > 0 Then
debugFrmHwnd = FindWindowEx(ideHwnd, ByVal 0&, "VbaWindow", vbNullString)
If debugFrmHwnd > 0 Then
PostMessage debugFrmHwnd, WM_ACTIVATE, 1, 0&
SendKeys "^{HOME}+^{END}^{BREAK}{ DEL}{F5}", False
End If
End If
这个方法是用来删除,改一下可以
SendKeys "^{HOME}+^{END}^{BREAK}^{c}", False
具体没实测过
作者: xiaoyao961 发布时间: 2011-08-26
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28