ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: wangcaiok

[原创] 强制启用宏,跳过宏提示,打开带有vba代码的excel

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2009-11-2 13:24 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

论强制启动宏技术

Dim oExcel,fn
Set oExcel = CreateObject("Excel.Application")
oExcel.Visible=True
'oExcel.Workbooks.Open fn, "123")
Set fso = oExcel.Workbooks.Open(”我的工作簿.xls“ ,,,, )
Set oExcel = Nothing
Wscript.Quit
以这段代码为例,如何才能不输入密码“123”,请高手赐教!

TA的精华主题

TA的得分主题

发表于 2009-11-2 13:31 | 显示全部楼层
VBA能打开宏的,你的系统就不安全了。不能误导啊

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-11-3 08:51 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
原帖由 andyisboy 于 2009-11-2 13:24 发表
Dim oExcel,fn
Set oExcel = CreateObject("Excel.Application")
oExcel.Visible=True
'oExcel.Workbooks.Open fn, "123")
Set fso = oExcel.Workbooks.Open(”我的工作簿.xls“ ,,,, )
Set oExcel = Nothing
...


什么意思呢?你的意思是 工作簿保护密码是123 你想打开强制启用宏,并且自己输入密码?
这样是有办法的.
oExcel.Workbooks.Open fn, "123") 把这一句注释去掉试试.
或者
Set fso = oExcel.Workbooks.Open(”我的工作簿.xls“ ,,,, )
后面的几个逗号(忘记是哪个了)加上"123" 你试试呢.
有问题或解决了这边留言一下 谢谢

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-11-3 08:53 | 显示全部楼层
原帖由 wj2368 于 2009-11-2 13:31 发表
VBA能打开宏的,你的系统就不安全了。不能误导啊


呵呵,对,系统是很脆弱的,但是这是一种技术,可以用于封装你的Excel作品 看起来或更完善 更专业的.

TA的精华主题

TA的得分主题

发表于 2009-12-14 00:16 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

回复 18楼 wangcaiok 的帖子

exe文件是用什么软件做的????

2.用vbs:
Dim oExcel,fn
Set oExcel = CreateObject("Excel.Application")
oExcel.Visible=True
'oExcel.Workbooks.Open fn, "123")
Set fso = oExcel.Workbooks.Open(”我的工作簿.xls“ ,,,, )
Set oExcel = Nothing
Wscript.Quit
这个应用不成功,不知何故? QQ截图未命名.png . QQ截图未命名.png

[ 本帖最后由 szqhb 于 2009-12-14 21:25 编辑 ]

TA的精华主题

TA的得分主题

发表于 2010-5-5 18:21 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2010-8-28 21:25 | 显示全部楼层

回复 26楼 szqhb 的帖子

Dim oExcel,fn,fso
fn=Replace(WScript.ScriptFullName,Right(WScript.ScriptFullName,4),".xls")
on error resume next
Set oExcel = GetObject(,"Excel.Application")
if err.number<> 0 then  Set oExcel =CreateObject("Excel.Application")
err.clear
oExcel.Visible=True
set fso = oExcel.Workbooks.Open (fn,,,,"123")
Set oExcel = Nothing
Wscript.Quit

以上代码生成vbs文件,放在那个与目标EXCEL文件的同一文件夹内,然后修改成与那个目标EXCEL文件同名,就OK了!
呵呵,我也是试了2个多小时搞定了,

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-10-20 16:42 | 显示全部楼层

回复 28楼 ngs139 的帖子

你是个好学生,要多尝试哈~~

TA的精华主题

TA的得分主题

发表于 2010-12-17 14:24 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-1-3 21:59 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
如何做成EXE
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-5-12 20:11 , Processed in 0.041109 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表