XLS封装成EXE制作全攻略.pdf
文本预览下载声明
XLS 封装成EXE 制作全攻略
首先申明,将xls 做成exe 并不是指就能使您的VBA 工程受到坚强的保护,当然您可以通过
数种方法来提高xls 文档VBA 工程防止查看的保护几率,如屏蔽一些系统热键、监控VBE 窗
口的开启、给文档加上口令保护、加VBA 口令、使VBA“不可查看”、利用宏表4.0 来禁止用
户取消宏来查看文档等等,但“道高一尺,魔高一丈” ,所以就没有必要去追求所谓的“完美”
加密……关于这些保护方法不属本文叙述范围,请版友在论坛上查看相关帖。
假如您手头已有一xls 文档等待封装,假如您机子上已安装有VB6 开发系统,那么请跟着往
下操作:
一、用VB 制作EXE 文件头部分
1、打开VB ,“文件”-“新建工程”-“标准EXE” ;
2 、此时会出现名为 Form1 的默认窗体编辑窗口,Form1 将作为软件启动封面窗体,打开该
Form1 的属性窗口,对如下属性进行设置:BorderStyle=0 ,StartUpPosition=2,Icon 与Picture
属性设置成你需要的图标(这也将成为你EXE 的图标)和设计好准备使用的图片 (即软件封
面),窗体的大小设置成您需要的合适值即可。
3、往窗体中添加一个时钟控件timer1 ,并将其InterVal 属性设为1000。
4 、双击窗体打开代码编辑窗口,录入以下代码:
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 Declare Function GetTempFileName Lib kernel32 Alias GetTempFileNameA (ByVal
lpszPath As String, ByVal lpPrefixString As String, ByVal wUnique As Long, ByVal
lpTempFileName As String) As Long
Private Declare Function GetTempPath Lib kernel32 Alias GetTempPathA (ByVal
nBufferLength As Long, ByVal lpBuffer As String) As Long
Private Const MAX_PATH = 260 Private Const EXE_SIZE = 81920 本EXE 实际字节大小
Private Type FileSection Bytes() As Byte End Type
Private Type SectionedFile Files() As FileSection End Type
Dim StopTime As Integer
Private Sub Form_Activate()
If Command() = Then Main1
End Sub
Private Sub Form_Load()
On Error Resume Next
If Command() = Then Form1.Visible = True
SetWindowPos Form1.hwnd, -1, 0, 0, 0, 0, H2 Or H1 将封面置为最顶层窗体
Else Form1.Visible = False
Form1.Timer1.Enabled = True
End If
End Sub
Sub Main1()
Dim StartXLSByte, I, J As Long
Dim AppPath, XlsTmpPath As String
Dim myfile As SectionedFile
Dim xlApp As Excel.Application 定义EXCEL 类
Dim xlBook As Excel.Workbook 定义工件簿类
Dim xlsheet As Ex
显示全部