|
楼主 |
发表于 2010-1-31 14:35
|
显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
原帖由 赵国辉 于 2010-1-31 08:45 发表
其实,不记得什么时候了
我也曾执着于封装
后来,也不记得什么时候了
豁然开朗——封装,意义不大
以上言论仅作为参考,lz别丢我西红柿
可能你不明白我为什么发贴,
我是为了学习,封装还是为了学习,好维护,我的文件从来都不用这些.我也没给别人没做过文件.
通过以上的学习,我见识了VB,ADO,API,access,我绝不会梦想以VBA或excel发家致富,也不会以他做为吃饭的本事,所以我仅以学习为出发点.或者说是为了打发时间,不能理解你的心情以前为什么不"豁然开朗"??
附件是我新做的我想给像我一样的菜鸟分享一下经验(高手就绕行了),代码来自网络,还有,你得安装VB6.0企业版(没用过其他的,也不知道其他的行不行),并在所提工程中引用
microsoft activex data objicts2.8 Library
microsoft excel 11.0 object library
microsoft office 11.0 object library
先看文件组成(见下图)
1.先准备excel文件(AWReport.xls),加打开密码(好像最长15位,但高级密码可255位长).
2.新建VB标准EXE工程,写代码(封装示例.exe文件):
Private Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Sub Form_Activate()
On Error Resume Next
Set xlApp = GetObject(, "Excel.Application")
If Err.Number <> 0 Then
Set xlApp = CreateObject("Excel.Application")
End If
Err.Clear
xlApp.Visible = True
If Dir(App.Path & "\AWReport.xls") = "" Then
MsgBox "未找到" & App.Path & "\AWReport.xls" & ",请与开发者联系!", 64 + 4096, XTMC
End
End If
For Each xlBook In xlApp.Workbooks
If xlBook.Name = "AWReport.xls" Then
xlApp.WindowState = xlMaximized
End
End If
Next
xlApp.WindowState = xlMaximized
Set xlBook = xlApp.Workbooks.Open(App.Path & "\AWReport.xls", , , , 25825897758#) '数字为excel密码,
xlBook.RunAutoMacros (xlAutoOpen)
Set xlApp = Nothing
End
End Sub
Private Sub Form_Load()
SetWindowPos Me.hWnd, -1, 0, 0, 0, 0, 3
End Sub
生成"封装示例.exe",该文件可以绕过宏安全设置,不管是高还是低
[ 本帖最后由 yykxiaoyang 于 2010-7-24 11:38 编辑 ] |
-
|