| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 690 人关注过本帖
标题:用VB打开含有VBA代码的EXCEL文件
只看楼主 加入收藏
燕之峰
Rank: 2
等 级:论坛游民
帖 子:146
专家分:63
注 册:2014-3-21
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
用VB打开含有VBA代码的EXCEL文件
各位网友好,启动含有VBA代码的EXCEL文件,如宏安全级别较高时,总出现提示。是不是用VB启动打开含有VBA代码的EXCEL文件时,就不出现有关宏的提示,并能运行代码。如是这样,打开含有VBA代码EXCEL文件的代码与一般的打开代码相同吗,还是说有特殊要示,请指导。谢谢

下面的附件中是一个例子,能打开EXCEL文件,不有设置安全级别,并有显示启动过程滑动条,请指导一下,如何编写代码
如何知道如何编写代码,我就可以打开任意的含有VBA代码的EXCEL文件
不用设置安全级.rar (363.97 KB)


[ 本帖最后由 燕之峰 于 2014-3-26 21:09 编辑 ]
搜索更多相关主题的帖子: EXCEL 如何 友好 
2014-03-26 20:57
owenlu1981
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:13
帖 子:211
专家分:1130
注 册:2013-5-17
收藏
得分:15 
思路和相关代码如下,关于控件属性和设置问百度
1.滚动条用控件ProgressBar + Timer实现
按"登录"后,启动Timer,ProgressBar1值递增,当ProgressBar1值=ProgressBar1最大值时,关闭Timer并隐藏登录界面,打开Excel
ProgressBar1.Value = 0    '初始值
ProgressBar1.Minimum = 0    '最小值
ProgressBar1.Maximum = 100    '最大值
Timer.Enabled = True    '启动Timer
Timer.Enabled = False    '关闭Timer
Timer.Interval = 1000    '时间间隔,1000为1秒,控制滚动条滚动速度

2. 打开Excel (首先要引用EXCEL对象,工程->引用-> Microsoft Excel xxx Object Library, xxx 为版本号)
Dim xlApp As New Excel.Application, xlBook As New Excel.Workbook, xlSheet As New Excel.Worksheet    '定义相关属性
Set xlApp = CreateObject("Excel.Application")    '打开Excel软件
xlApp.Visible = True    '显示EXCEL
xlApp.DisplayAlerts = False    '取消Excel消息提示
Set xlBook = xlApp.Workbooks.Open(FileName)    '打开指定Excel文档
Set xlSheet = xlBook.Worksheets(1)    '设定第一个Sheet为活动工作表
2014-03-27 08:48
燕之峰
Rank: 2
等 级:论坛游民
帖 子:146
专家分:63
注 册:2014-3-21
收藏
得分:0 
用加上这一行代码吗
xlbook.runautomactos(xlautoopen) 运行EXCEL中的启动宏
2014-03-27 15:56
owenlu1981
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:13
帖 子:211
专家分:1130
注 册:2013-5-17
收藏
得分:0 
回复 3楼 燕之峰
加不加看你需求,如果打开后就要跑宏就加
2014-03-27 16:07
燕之峰
Rank: 2
等 级:论坛游民
帖 子:146
专家分:63
注 册:2014-3-21
收藏
得分:0 
请教 4楼 owenlu1981
打开后就要跑宏,是何意
xlbook.runautomactos(xlautoopen) 运行EXCEL中的启动宏,应放在哪个位置
另外,xlbook.runautomactos(xlautoclose) '运行EXCEL中的关闭宏
什么情况下使用运行
控件ProgressBar运行时,颜色如何设置

[ 本帖最后由 燕之峰 于 2014-3-27 17:45 编辑 ]
2014-03-27 16:53
w360989426
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:228
专家分:301
注 册:2013-11-12
收藏
得分:0 
何必呢,直接将vba代码转化成VB代码来执行操作excel不就好了么,这样宏安全性可以忽略
2014-03-27 22:26
owenlu1981
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:13
帖 子:211
专家分:1130
注 册:2013-5-17
收藏
得分:5 
Excel有两个自动宏,Sub Auto_Open(),Sub Auto_Close(),分别在打开和关闭Excel时自动执行
但是VB打开Excel时不会自动执行,所以需要命令来启动和关闭
启动:
Set xlSheet = xlBook.Worksheets(1)
xlbook.runautomactos(xlautoopen)
关闭:xlbook.runautomactos(xlautoclose)
2014-03-28 08:26
owenlu1981
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:13
帖 子:211
专家分:1130
注 册:2013-5-17
收藏
得分:0 
回复 6楼 w360989426
Excel里的宏非系统管理员也可以改,但是EXE改起来就不方便了。
2014-03-28 08:27
快速回复:用VB打开含有VBA代码的EXCEL文件
数据加载中...
 
   



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

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