再次谢谢版主!我测试我的一个含有VBA代码的文件时发现一个问题,这部分代码能使用版主软件封装后的文件不能存盘,提醒使用者注意,不过这个代码一般不会用到,我贴出来大家共同研究。
Private Sub Workbook_BeforeClose(Cancel As Boolean) On Error Resume Next Dim myfile As FileSection '定义变量 Dim comc, exec, xlsc As String '定义变量 '***************************************************************** '******************************************************************* Application.DisplayAlerts = Fals Application.Visible = False '隐藏EXCEL主窗口 exec = Worksheets("temp").Cells(1, 1).Value xlsc = Worksheets("temp").Cells(2, 1).Value comc = exec & " " & xlsc Open exec For Binary As #1 '打开EXE文件 ReDim myfile.Bytes(1 To EXE_SIZE) Get #1, 1, myfile.Bytes '取得固有文件头 Close #1 If VBA.Dir(exec) <> "" Then Kill exec Open exec For Binary As #1 '生成新的EXE文件 Put #1, 1, myfile.Bytes '先写入文件头 Open xlsc For Binary As #2 '打开xls临时文件 ReDim myfile.Bytes(1 To FileLen(xlsc)) Get #2, 1, myfile.Bytes Put #1, EXE_SIZE + 1, myfile.Bytes '将xls部分追加进EXE Close #1 Close #2 Shell comc, vbMinimizedNoFocus '删除临时xls文件 Application.Quit End Sub
相信这段代码研究过ldhyob版主的那个封装的帖子的朋友应该都很熟悉,我测试的时候偷了个懒,直接用的含这个代码的文件测试,发现生成后的文件不能存盘了,不知道是由于这段代码里的那一句造成的。将这段代码删除后,生成的文件经测试,保存没有问题
[此贴子已经被作者于2006-1-21 21:59:08编辑过] |