| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5373 人关注过本帖, 2 人收藏
标题:VB6如何删除指定EXCEL工作簿的VBA工程?
取消只看楼主 加入收藏
PJPX
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2009-7-27
结帖率:80%
收藏(2)
已结贴  问题点数:20 回复次数:5 
VB6如何删除指定EXCEL工作簿的VBA工程?
如题,在VB6中如何编写代码删除指定EXCEL工作簿中的VBA工程(模块、类模块、窗体)?
搜索更多相关主题的帖子: EXCEL 
2011-02-11 15:23
PJPX
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2009-7-27
收藏
得分:0 
以下是引用Artless在2011-2-11 18:12:51的发言:

EXCEL工作簿中不能删除?
是这样的,前阵单位的电脑好多都中了EXCEL宏病毒,我自己的电脑或者身边同事的电脑当然可以由通过手动删除染毒文件来解决,问题是好些分支机构的电脑也中了宏病毒,我想写个小工具通过电子邮件发过去帮他们解决。
2011-02-14 08:28
PJPX
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2009-7-27
收藏
得分:0 
以下是引用不说也罢在2011-2-14 12:26:45的发言:

Public Sub DelVbaProject(ByVal sFileName As String)'这里参数即是XLS文件的完整路径,如:c:\myapp\1.xls
    On Error Resume Next
    Dim xlsApp As New Excel.Application'需要在工程里引用EXCEL对象哦
    Dim xlsWorkBook As Excel.Workbook
    Dim vbPro
        Set xlsWorkBook = xlsApp.Workbooks.Open(sFileName)
        Set vbPro = ActiveWorkbook.VBProject
        With vbPro
             For i = .VBComponents.Count To 1 Step -1
                    LCount = .VBComponents(i).CodeModule.CountOfLines
                    .VBComponents(i).CodeModule.DeleteLines 1, LCount
                    .VBComponents.Remove .VBComponents(i)
            Next i
        End With
        xlsWorkBook.Save
        xlsWorkBook.Close
        xlsApp.Quit
End Sub
先谢谢版主,但代码运行后目标工作簿中的VBA模块仍未清除,不知道是哪里仍存在问题?

[ 本帖最后由 PJPX 于 2011-2-14 17:22 编辑 ]
2011-02-14 17:16
PJPX
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2009-7-27
收藏
得分:0 
以下是引用不说也罢在2011-2-14 17:22:09的发言:

代码本身没有问题的。我测试过。你也可以找任意一个有宏的XLS文件测试一下。
请注意下面两点:
1)EXCEL中将宏的级别设置为“低”;
2)EXCEL中,菜单——工具——宏——安全性——可靠发行商——选中“信任对于‘VISUAL BASIC’项目”的访问。
原来是第2项要选上,现在代码测试通过。从方便操作人员使用角度考虑,能否请版主再给一句代码,自动修改以上二点的EXCEL选项?谢谢。
2011-02-14 17:36
PJPX
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2009-7-27
收藏
得分:0 
回复 9楼 不说也罢
再次感谢版主的指导,VB6我是新手,修改注册表的操作以前感觉有点复杂就没去学(感觉够用就好),现在看来还是要学一点防身才好。
2011-02-14 23:15
PJPX
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2009-7-27
收藏
得分:0 
回复 10楼 PJPX
再次请教版主一个问题,枚举注册表项HKEY_USERS以下的所有值时,因为每部电脑中AccessVBOM所在的位置都不相同(比如我的电脑是在"HKEY_USERS\S-1-5-21-789336058-839522115-725345543-500\Software\Microsoft\Office\11.0\Excel\Security",而别的电脑可能是"HKEY_USERS\S-1-5-21-200436058-936522115-800845543-500\Software\Microsoft\Office\11.0\Excel\Security"),在使用RegOpenKeyEx函数时,遇到问题:
RegOpenKeyEx(HKEY_USERS, "这里如何?",  0&, KEY_READ,lngKeyHandle)
2011-02-16 16:36
快速回复:VB6如何删除指定EXCEL工作簿的VBA工程?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.036225 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved