注册 登录
编程论坛 VB6论坛

vb6 关闭指定的工作簿的代码如何写?

HVB6 发布于 2014-08-20 15:34, 1840 次点击
   以下是判断指定的工作簿是否打开的代码
 On Error Resume Next
    Set wbk = Workbooks("e:\asd.xls")
    If Err.Number <> 0 Then
        MsgBox "没有打开"
    Else
        MsgBox "打开"
    '在此处加关闭("e:\asd.xls")的代码
    End If
Err.Clear
12 回复
#2
bczgvip2014-08-20 16:29
工作簿是用vb6打开还是excel?
excel打开的可以用getobject 得到打开的excel再进行操作。
#3
HVB62014-08-20 16:42
回复 2 楼 bczgvip
是人工打开的。
#4
w3609894262014-08-20 22:51
wbk.Application.Quit,这样应该可以,试试看
#5
HVB62014-08-21 09:48
实在对不起2和3楼两位,1楼的代码可能是VBA的,所以把其用于VB6是不正确的,请各位用VB6的代码解决此问题。谢谢。
#6
啊良2014-08-21 19:14
这个是能帮助你不:
只有本站会员才能查看附件,请 登录
#7
HVB62014-08-22 07:09
回复 6 楼 啊良
下载您提供的附件后:解压→打开”工程1.vbp“→“启动”→“刷新”或“关闭程序”,都不能对事先打开的一个工作簿起到关闭的作用,何因?
#8
风吹过b2014-08-22 08:34
窗体:list1
      command1, 刷新
      command2, 关闭工作簿
----------------------------------------
Option Explicit

Dim excel1 As Object

Private Sub Command1_Click()
On Error Resume Next                '让错误继续下一步

    '引用 已打开的 Excel 对象
Set excel1 = GetObject(, "Excel.Application")           'Excel 对象
If Err.Number <> 0 Then                                 '没打开
    Err.Number = 0
    Set excel1 = GetObject(, "ET.Application")          'wps 表格 V8 DLL
    If Err.Number <> 0 Then
        Err.Number = 0
        Set excel1 = GetObject(, "Ket.Application")     'wps表格 V9 DLL
        If Err.Number <> 0 Then                         '最终的错误
            MsgBox "没有运行Excel 或 WPS 表格(Et)。运行后重新刷新。", vbCritical, "错误"
            Exit Sub
        End If
    End If
End If
Call rework
End Sub

Private Sub Command2_Click()
excel1.workbooks(List1.ListIndex + 1).Close            '关闭工作簿

Call rework
End Sub

Private Sub rework()
Dim i As Long

    List1.Clear
    '导入所有的工作簿
    With excel1
        For i = 1 To .workbooks.Count
            List1.AddItem .workbooks(i).Name
        Next i
    End With
End Sub
#9
HVB62014-08-22 09:40
回复 8 楼 风吹过 b
以下代码出错
Private Sub Command2_Click()
excel1.workbooks(List1.ListIndex + 1).Close            '关闭工作簿

Call rework
End Sub
只有本站会员才能查看附件,请 登录

#10
啊良2014-08-22 10:37
找到啦,指定关闭:Microsoft Excel - asd
只有本站会员才能查看附件,请 登录
#11
风吹过b2014-08-22 11:52
回复 9 楼 HVB6
你先刷新了吗?

list1 中有内容吗?你选定了 要关闭的 工作簿吗?
#12
HVB62014-08-22 15:19
回复 11 楼 风吹过 b
成功!谢谢!
#13
HVB62014-08-22 15:25
回复 10 楼 啊良
成功!谢谢!
1