EXCEL中VB宏可以封装成EXE文件么.docxVIP

  • 226
  • 0
  • 约4.64千字
  • 约 6页
  • 2021-04-12 发布于天津
  • 举报
EXCEL 中 VB 宏可以封装成 EXE 文件么 一、用 VB 制作 EXE 文件头部分 1、打开 VB ,“文件-”“新 建工程”-“标准EXE; 建工程”-“标准EXE; 2 、此时会出现名为 Form1 的默认 窗体编辑窗口, Form1 将作为软件启动封面窗体, 打开 该 Form1 该 Form1 的属性窗口, 对如下属性进行设置: BorderStyle=0 , StartUpPosition=2 , 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 Excel.Worksheet 定义工作表类 AppPath = App.Path XlsTmpPath = GetTempFile() 取得 XLS 临时文 件名(带路径) If VBA.Right(App.Path, 1) = \ Then AppPath = VBA.Left(App.Path, VBA.Len(App.Path) - 1) Open AppPath \ App.EXEName .exe For Binary As #1 ReDim myfile.Files(1) ReDim myfile.Files(1).Bytes(1 To LOF(1) - EXE_SIZE) Open XlsTmpPath For Binary As #2 Get #1, EXE_SIZE + 1, myfile.Files(1).Bytes 此处数

文档评论(0)

1亿VIP精品文档

相关文档