2016-05-18 12 views
0

ユーザーが「X」をクリックしてもExcelファイルを開いたままにしたい。私は彼らがタスクマネージャーからプロセスを終了できることを知っていますが、私はそれが当てはまるとは思わない。電源が切れた場合を除いてExcelファイルを開いたままにする

基本的に、別のソースからリアルタイムでデータを取得するには、Excelシートを24時間開いておく必要があります。誰かや何かが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をクリックして初めての作品!しかし、それをもう一度クリックするだけで、メッセージを表示せずにすべてを閉じることができます。 P.S.私はまた、サブメニューの "cancel = True"でこれを試しました。これも機能しませんでした。

私はここで間違っていますか?ありがとう、たくさんの人!

+0

どこにも他のコードはないと思いますか?私はこのコードをExcel 2013に入れても問題ありません。 – OpiesDad

+0

また、問題のコンピュータにアクセスしている人は誰ですか?なぜあなたはあなたがコントロールするコンピュータでこれを実行しないのですか? – OpiesDad

+0

返信いただきありがとうございます。 私はファイルを何度も作り直してみましたが、これはそうでないことを確認しています。あなたにとっては、A1が空白になるまでファイルを閉じないようにしていますか? –

答えて

0

申し訳ありません私はUNIXのような人ですが、実際には完全に開く必要がありますか、それが閉じられるとすぐに再び開くと十分です。なぜなら、私はバッチスクリプトでそれをやっているからです。単純なループ。メモ帳はtxtファイルのデフォルトのプログラムであるため、

例えば、この

:loop 
start /wait test.txt 
goto loop 

はメモ帳にTEXT.TXT開きます。

あなたも指定することができますどのようなプログラムのように使用されなければならない:

:loop 
start /wait notepad test.txt 
goto loop 

私はあなたがExcelと同じことを行うことができると思います。

+0

あなたの考えはうまくいくかもしれません。もっと教えていただけますか? 2つを一緒に使用することは素晴らしいことでしょう。 –

+0

私はUNIX/Linuxの人で、かなり長い間ウィンドウを使用していないと言いましたが、それはうまくいくはずです – minzchickenflavor

+0

バッチスクリプトを見て、Excelファイルを開いたままにしてください... 私はあなたの例を使った場合、ちょうど=メモ帳を "excel"で置き換え、test.txtをmyfileで置き換えますか? –

関連する問題