保持Excel文件打开,除非断电

时间:2016-05-18 20:04:56

标签: excel vba excel-vba

即使用户点击“X”,我也希望保持Excel文件处于打开状态。我知道他们可以从任务经理那里结束这个过程,但我认为情况并非如此。

基本上,Excel工作表需要全天候开放才能从其他来源实时获取数据。有人或某些东西偶尔会关闭Excel并弄乱它。我想看看是否有一些简单的VBA代码可以修复它。

到目前为止,我的研究中添加了这段代码:

Sub Workbook_BeforeClose(Cancel As Boolean)
    'Step 1: Check to see if cell C7 is blank
    If Sheets("Sheet1").Range("A1").Value = "" Then
    'Step 2: If cell is blank, cancel the close and tell user
        Cancel = True
        MsgBox "Cell A1 cannot be blank"
    'Step 3: If cell is not blank, save and close
    Else
        ActiveWorkbook.Close SaveChanges:=True
    End If
End Sub

它第一次点击X时有效!但是,我只是再次单击它,它让我关闭所有内容,而不显示任何消息。附:我也在sub中尝试了“cancel = True”。这也行不通。

我在这里做错了什么?非常感谢你们!

1 个答案:

答案 0 :(得分:0)

抱歉,我是一名unix人,但确实需要一直打开,或者如果它一关闭就重新打开就足够了。因为那样我会在批处理脚本中。一个简单的循环。

例如这个

:loop 
start /wait test.txt
goto loop

将在记事本中打开text.txt,因为记事本是txt文件的默认程序。

您还可以指定应使用的程序,如:

:loop 
start /wait notepad test.txt
goto loop

我猜你可以用excel做同样的事。