• 締切済み

一定時間経過したExcelの強制終了方法を教えてください

一定時間経過したExcelの強制終了方法を教えてください ExcelBookがAutoopenになっていて、マクロが起動します。 マクロが起動してから一定時間が経過したら、マクロでそのBookを強制終了したいのですが(保存等一切しなくてよいです)・・・ マクロは現行のまま処理(画面入力や検索する物です)を継続しつつ、 一定時間のカウントを行いたいのです。 時間経過後にマクロの処理中であっても強制終了させたいのです。 何方か、ご教授ねがいませんかm(_ _)m よろしくお願いいたします。

みんなの回答

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

エクセルのVBAのHelpで  Application.OnTime で調べてみてください。 或いは、Webで検索してみてください。 AutoOoenに以下の様に記述します。例は、1時間後に指定したマクロを実行する場合です。 Application.OnTime EarliestTime:=Now + TimeValue("00:01:00") _ , Procedure:="実行するマクロ名"

  • Azzz___
  • ベストアンサー率40% (9/22)
回答No.1

こんにちは。 (Excelが起動したらではなく)マクロが起動したらという前提だと 一番手っ取り早い方法は 実行しているマクロの中に時間を計測するプログラムを埋め込んでおき、 所定の時間に達したら終了でいいかと思います。 マクロがループ処理を入れているものなら 比較的簡単にできるかもしれませんが、 上から下へと流れていく場合だと少しだけ面倒な気がします。 1.マクロ起動時に現在の時間取得(開始時間) 2.マクロ処理実行の中に開始時間から何分経過したかチェック 3-1. 所定の時間がきたら終了 3-2. まだ大丈夫ならそのまま 4.2に戻る でいけるのではないでしょうか。

関連するQ&A

  • Excel2010 VBA終了時に強制終了する

    Excel2003、2007で実行した場合は正常終了するが Excel2010で実行するとVBA終了時に強制終了します。 処理は、マクロありブックからマクロなしブックを作成するために、 新規ブックを作成しマクロありブックからシートを移動する処理です。 VBA起動は、フォームコントロールから行っています。 VBA終了時に(End Sub)後にEXCELがなぜか強制終了します。 (Microsoft Excel は動作を停止しました。のメッセージが表示される) なお、 ・フォームコントロールから実行した場合はEXCELが強制終了し、   デバックモードで実行した場合は強制終了しません。  ・マクロありファイルの種類:Excel 97-2003ブック  ・★★★のソースが含まれていると、Excelが強制終了します。 以下、ソース。 Sub ファイル保存()   'マクロなしファイルを作成 CreateNoMacroBook End Sub '←ここで異常終了が発生する。 Sub CreateNoMacroBook() Dim fname As String Dim ns As Integer Dim cnt As Integer Dim i As Integer 'マクロありブックの名前を取得 fname = ActiveWorkbook.Name 'マクロありブックのシート数を取得 cnt = ActiveWorkbook.Worksheets.Count 'すべてのシートをMoveするとエラーになるのでシートを追加 Worksheets.Add After:=Worksheets(Worksheets.Count) '新規ブック作成時のデフォルトのシート数を保管 ns = Application.SheetsInNewWorkbook '新規ブック作成時のシート数を変更 Application.SheetsInNewWorkbook = 1 '新規ブック作成 Workbooks.Add '新規ブック作成時のデフォルトのシート数に戻す Application.SheetsInNewWorkbook = ns 'マクロありブックのシートを新規ブックの"Sheet1"シートの前に移動 For i = 1 To cnt Workbooks(fname).Worksheets(1).Move Before:=Workbooks(Workbooks.Count).Worksheets("Sheet1")  '★★★ Next i '表示用に新規ブックの一枚目のシートをアクティブにする Workbooks(Workbooks.Count).Worksheets(1).Activate Application.DisplayAlerts = False '新規ブックのデフォルトシート"Sheet1"を削除する Workbooks(Workbooks.Count).Worksheets("Sheet1").Delete Workbooks(Workbooks.Count).Activate Application.DisplayAlerts = True End Sub

  • 一定時間が経過したら処理を行う.

    一定時間が経過したら、ある処理を行いたいです。 if(一定時間が経過したら){  // 処理 } 例えばこのプログラムを実行してから1日たったら というようにしようと考えています. どのような条件をつければよいでしょうか?

  • 一定時間たつとPCが強制終了するフリーウェア

    タイトルの通りなのですが 「一定時間たつとPCが強制終了するフリーウェア」 あるいは 「一定時間たつとネットの接続が強制終了するフリーウェア」 なんてものはないでしょうか? 最近インターネットがたのしすぎて危機感を覚えます・・・^^; 自分から離れることができないので そんなソフトウェアがあったら使いたいな~と思いますw 教えてください!

  • Excelが強制終了になってしまうのですが‥

    もし以下の原因、あるいはどこに問い合わせればよいかご存知でしたらお教えください。 ・Excel97で特定のファイルを開くとき、強制終了される ・Access97でエキスポートして作成したExcel97のファイルが「マクロが含まれています」というメッセージが表示される ・Office2000でExcelが強制終了が出て開けない。また、アンインストールしてインストールしなおしても現象がなおらない Excel97の特定のシートを開こうとすると「メモリ不足です」というメッセージが表示され、印刷しようとしても、新規作成したファイルにコピーペーストしようとしても強制終了になります(複数台のPCにて。OSはWin98SE/ME)。 どうしても印刷したいので、Access97でテーブルとしてインポートし、再度excel97のファイルとしてエクスポートしました。 エクスポートしたファイルを開こうとすると「マクロが含まれています」というメッセージが表示されます。「マクロを無効」にチェックを入れ、開こうとすると、「このブックにはマクロ(Microsoft excel4.0macro)が含まれています。安全だとわかっている場合ははいをクリックして開いてください」と、もう一度メッセージが表示されます。不安なので開きませんでした。 PCはNorton2001の最新のウィルス定義を使用し、HDD全体のウィルススキャンをしましたが、ウィルスは検出されません。シマンテック社さんに分析を依頼しましたが、悪意のあるコードは見つからなかったとのことです。 また、このファイルが原因かわかりませんが、office2000をインストールした複数台のPCでexcelが起動できなくなりました。アンインストールしてインストールしなおしてもやはり強制終了になります。 Accessのテーブルの状態で全ての列を選択してコピーし、Excelにペーストすると問題なくデータが表示・印刷できるのですが、なにぶん気持ちが悪いです。

  • 一定時間経過した後に動作させる

    cgiを表示させてから任意の一定時間が経過した後に、処理を実行させたいのですが、Perlでそのような事は可能でしょうか? 例えば以下のような感じです。 ページを表示させてから1分経過した後に if($xx =~ $zz){処理} を実行。

    • ベストアンサー
    • Perl
  • 強制終了ソフト

    子供がネットゲーム(メイプルストーリというもの)にはまり、何時間でもやってしまします。 この手のゲームはiフィルターなどのフィルタリングソフトの時間管理では強制終了が無効になるため、一定時間経過したらパソコンを強制終了するソフトを探してます。 肝心なのはパソコンを起動したら自動的にカウントダウンをするソフトがありますでしょうか。 自分でタイマースタートさせるソフトは、子供自らはまず、起動しないでしょう。 リビングで親の前でパソコンを使っているので、一度でもシャットダウンすれば再度立ち上げることも さすがにあきらめると思うので、このようなソフトがあれば使ってみたいです。 ちなみにメイプルの会社ネクソンでも時間制限サービスをしてますが、それに必要なネクソンIDを子供は忘れたといって利用できません。

  • PHPで一定時間が経過すると処理が発生、は可能?

    ■質問1 ・PHPで、一定時間が経過すると処理が発生みたいなことはできるでしょうか? ■質問2 ・PHPで、指定時刻になったら処理が発生みたいなことはできるでしょうか?

    • ベストアンサー
    • PHP
  • Excelの、マクロ終了時にExcel本体も閉じたい

    Excelの、マクロ終了時にExcel本体も閉じたいのですが、 どのようなコマンドを埋め込んだらいいのでしょうか? Application.Quit では、Bookは閉じますが、Excel本体は残ってしまいます。 よろしくお願いいたします。

  • 【Excel VBA】マクロでExcel自体を終了させたい

    環境:WindowsXP、Excel2003 マクロでエクセルを終了(ブックを閉じて、アプリケーション自体も終了)させたいのですが、以下のコードではアプリケーションが閉じてくれません。 ThisWorkbook.Close ExcObj.Quit Application.Quit どこか悪いところはありますでしょうか? よろしくお願いします。

  • VB2005 でLOOP処理を一定時間経過したら抜けさせる方法

    VB2005の初心者です。 標準モジュールで、Loop処理で一定時間経過したらLoopを抜ける処理を作りたいのですが、どうすれば良いのでしょうか。 Formではないため、System.Windows.Forms.Timerは使えません。 標準モジュールなので、System.Timers.Timer を使うのかと思ったのですが、Intervalで設定した時間が経過したことをどのように知ることができるのでしょうか。 ソースは下記のような単純なループです LtimTimer = New Timers.Timer LtimTimer.Interval = 60000 LtimTimer.AutoReset = False LtimTimer.Enabled = True Do If '設定時間が経過' Then Exit Do End If 反復処理 Loop '設定時間が経過' 部分に、どのように書けば良いのでしょうか。 何かヒントになるようなことでも良いので、 皆様の知恵をお借りできれば幸いです。 よろしくお願い致します。

専門家に質問してみよう