乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > <em>VB</em>后台打开<em>excel</em>操作时,怎么判

<em>VB</em>后台打开<em>excel</em>操作时,怎么判

作者:乔山办公网日期:

返回目录:excel表格制作


全选后“格式”,“单元格”“保护”去掉“锁定”前的√,“确定”再选中要保护的单元格√选“锁定”后“确定”,“工具”,“保护”,“保护工作表”只√选“选定未锁定的单元格”输入密码后“确定”

Private Declare Function CreateFile Lib "KERNEL32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, lpSecurityAttributes As String, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
Private Declare Function CloseHandle Lib "KERNEL32" (ByVal hObject As Long) As Long
Private Const GENERIC_READ = &H80000000
Private Const GENERIC_WRITE = &H40000000
Private Const OPEN_EXISTING = 3
Private Const FILE_ATTRIBUTE_NORMAL = &H80
Private Const INVALID_HANDLE_VALUE = -1
Private Function IsFileRun(ByVal pFile As String) As Boolean
Dim ret As Long
ret = CreateFile(pFile, GENERIC_READ Or GENERIC_WRITE, 0&, vbNullString, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0&)
IsFileRun = (ret = INVALID_HANDLE_VALUE)
CloseHandle ret
End Function

Private Sub Command1_Click()
Dim File As String
File = "C:\1.xls" '路径自己改吧

MsgBox File & IIf((Dir(File) <> "" And IsFileRun(File)), "已运行e799bee5baa6e997aee7ad94e4b893e5b19e331!", "未运行!")

End Sub
WorkBook.Close 改为WorkBook.Application.Quit
最后一招,你看看你的进程中是否有excel.exe存在,如果有,结束再试试。

重复性打开EXCEL程序。
VB调用完EXCEL程序后,不仅要关闭EXCEL文件,还要关闭EXCEL程序。
VB6.0 EXCEL文件扩展名为xls的情况。
Dim MyXL As Object '定义存放引用对象的变量。
Set MyXL = CreateObject("excel.application")
Set mysheet = Nothing
Set mybook = Nothing
Set mybook = MyXL.Workbooks.Open(“D:\123.XLS”)
Set mysheet = mybook.Worksheets("sheet1")
mysheet.Range("a1") =Textbox1.text
mybook.SaveAs d:\abc.xls
mybook.Close
MyXL.Quit
当然也有是程序过程中出现问题,被强制关闭程序时,后台并没有关闭EXCEL程序。因此,当出现此情况时。关闭当前只读后,打开任务管理器,查看进程,会发现一个EXCEL程序处于运行状态,强制关闭后。再用VB调用就不会出现此情况。

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网