ヒント:他の言語はGoogle翻訳されています。 訪問することができます English このリンクのバージョン。
ログイン
x
or
x
x
会員登録
x

or

特定のアイドル時間後に自動的にExcelファイルを保存して閉じる方法

場合によっては、Excelファイルを共有ディスクに残すなど、ファイルがユーザーによって開かれている場合や、他のユーザーがブックを編集できない場合があります。 どのように他の作業を容易にするために、特定のアイドルタイムの後にファイルを自動クローズするのですか? この記事では、VBAメソッドの使用方法について説明します。

VBAコードで特定のアイドル時間後にExcelファイルを自動的に保存して閉じる

OfficeタブOfficeでタブ付き編集とブラウジングを有効にし、作業をより簡単にします...
Kutools for Excelは、ほとんどの問題を解決し、生産性を80%向上させます
  • 何でも再利用: 最も使用されている式や複雑な式、チャート、その他をお気に入りに追加し、将来的にすぐに再利用できます。
  • 20以上のテキスト機能: テキスト文字列から数値を抽出します。 テキストの一部を抽出または削除します。 数字と通貨を英語の単語に変換...
  • マージツール:複数のワークブックとシートを1つに; データを失うことなく複数のセル/行/列を結合します。 重複する行と合計をマージ...
  • 分割ツール:値に基づいてデータを複数のシートに分割します。 1つのワークブックから複数のExcel、PDF、またはCSVファイル。 1列から複数列...
  • 貼り付けスキップ 非表示/フィルターされた行。 カウントアンドサム 背景色別; メーリングリストを作成し、 セルの価値でメールを送信する...
  • スーパーフィルター: 高度なフィルタースキームを作成し、任意のシートに適用します。 ソート 週、日、頻度などにより; フィルタ 太字、式、コメントで...
  • 300の強力な機能以上。 Office 2007-2019および365で動作します。 すべての言語をサポートしています。 企業または組織に簡単に展開できます。

VBAコードで特定のアイドル時間後にExcelファイルを自動的に保存して閉じる


特定のアイドル時間後にExcelファイルを自動保存して閉じるには、次のようにしてください。

1。 一定のアイドル時間が経過した後、自動的に保存され、閉じられるようにするために必要なワークブックを開きます。 次に、 他の + F11 一緒に鍵を開いて アプリケーション用Microsoft Visual Basic 窓。

2。 の中に アプリケーション用Microsoft Visual Basic ウィンドウをダブルクリックしてください ThisWorkbook コードウィンドウを開きます。 次に、VBAコードの下にコピーしてコードウィンドウに貼り付けます。 スクリーンショットを見る:

VBAコード1:特定のアイドル時間後にExcelファイルを自動的に保存して閉じる

Dim xTime As String
Dim xWB As Workbook

Private Sub Workbook_Open()
'Updated by Extendoffice 2019/1/20
    On Error Resume Next
    xTime = Application.InputBox("Please specify the idle time:", "KuTool For Excel", "00:00:20", , , , , 2)
    Set xWB = ActiveWorkbook
    If xTime = "" Then Exit Sub
    Reset
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    On Error Resume Next
    If xTime = "" Then Exit Sub
    Reset
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    On Error Resume Next
    If xTime = "" Then Exit Sub
    Reset
End Sub

Sub Reset()
    Static xCloseTime
    If xCloseTime <> 0 Then
        ActiveWorkbook.Application.OnTime xCloseTime, "SaveWork1", , False
    End If
    xCloseTime = Now + TimeValue(xTime)
    ActiveWorkbook.Application.OnTime xCloseTime, "SaveWork1", , True
End Sub

3。 次にクリックしてください インセット > モジュールコードの下にコピーしてモジュールウィンドウに貼り付けます。 スクリーンショットを見る:

VBAコード2:特定のアイドル時間後にExcelファイルを自動的に保存して閉じる

Sub SaveWork1()
'Updated by Extendoffice 2019/1/20
    Application.DisplayAlerts = False
    ActiveWorkbook.Save
    ActiveWorkbook.Close
    
    Application.DisplayAlerts = True
End Sub

4。 プレス 他の + Q キーを同時に押して アプリケーション用Microsoft Visual Basic 窓。

5。 クリック フィレット > 名前を付けて保存 > ブラウズ。 スクリーンショットを見る:

6。 の中に 名前を付けて保存 ダイアログボックスで、ファイルを保存するフォルダを選択し、必要に応じてファイル名ボックスに名前を付けて、 Excelマクロが有効なブック から 名前を付けて保存 type ドロップダウンリストをクリックし、最後に 保存 ボタン。 スクリーンショットを見る:

これからは、このワークブックを開くたびに、 Kutools for Excel ダイアログボックスが表示されます。 保存する時間を入力して、ワークブックを閉じてから、 OK ボタン。

そして、ブックは指定されたアイドル時間後に自動的に保存され、閉じられます。 スクリーンショットを見る:


Kutools for Excelは、ほとんどの問題を解決し、生産性を80%向上させます

  • 再利用: すばやく挿入 複雑な数式、チャート そして、以前に使用したもの; セルを暗号化する パスワード付き メーリングリストの作成 そしてメールを送る...
  • スーパーフォーミュラバー (複数行のテキストや数式を簡単に編集する) レイアウトを読む (多数のセルを簡単に読んで編集できます)。 フィルター範囲に貼り付ける...
  • セル/行/列を結合 データを失うことなく; セルコンテンツの分割。 重複する行/列を結合する...重複セルの防止。 範囲の比較...
  • 重複または一意を選択します空白行を選択 (すべてのセルは空です)。 スーパー検索とファジー検索 多くのワークブックで。 ランダム選択
  • 完全コピー 式の参照を変更せずに複数のセル。 参照を自動作成 複数のシートに 箇条書きを挿入、チェックボックスなど
  • テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷 セルのコンテンツとコメント間の変換...
  • スーパーフィルター (保存して他のシートにフィルタ方式を適用する)。 高度な並べ替え 月/週/日、頻度などによる。 特殊フィルター 太字、斜体で...
  • ワークブックとワークシートを組み合わせる; キー列に基づいて表をマージします。 データを複数のシートに分割する; xls、xlsx、およびPDFのバッチ変換...
  • 300を超える強力な機能。 Office / Excel 2007-2019および365をサポートします。 すべての言語をサポートします。 企業または組織に簡単に展開できます。 フル機能の30日間の無料トライアル。
KTEタブ201905

OfficeタブはOfficeにタブ付きインターフェイスを提供し、作業をより簡単にします

  • Word、Excel、PowerPointでタブ付き編集と読み取りを有効にする、出版社、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を50%向上させ、毎日数百回のマウスクリックを削減します。
オフィシタブ底
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    robert · 6 months ago
    Is there a way to make this work so even if you not on the sheet like click over to another window the timmer will still close that sheet? It seems like i have to stay on the file for it to work
  • To post as a guest, your comment is unpublished.
    Mark · 7 months ago
    I would recommend identifying the workbook with the workbook file name. This would allow the users to have multiple workbooks open and closing out only the specific workbook that needs to have the time lock.

    Suggestion: Set xwb = Workbooks("<file name>")
    instead of: Set xwb = ActiveWorkbook

    Also, replace all references to "ActiveWorkbook" to the Xwb in the module

    Great code otherwise.
    • To post as a guest, your comment is unpublished.
      Sammy · 4 months ago
      Hi Mark,

      Thanks for posting this amendment - found so many codes for closing inactive workbooks, but all of them seemed to affect the one you don't want to close!

      I'm very new to VBA, so I'm not sure how the code would work to replace the wording 'ActiveWorkbook' within the module. I've tried to replace the wording with 'Xwb' but that doesn't change anything and I may be being daft. Would you mind posting a copy of the code please?

      Thanks
    • To post as a guest, your comment is unpublished.
      crystal · 5 months ago
      Hi Mark,
      Thank you for sharing.
  • To post as a guest, your comment is unpublished.
    VR · 8 months ago
    This does not work when focus in on a particular cell in a sheet. Use case is when user is typing in a cell and leave the excel open with the cursor inside the cell.
    • To post as a guest, your comment is unpublished.
      Rehan · 7 months ago
      Were you able to find a fix for this by any chance?
  • To post as a guest, your comment is unpublished.
    henry · 11 months ago
    Hi Thanks loads for this code. Just one issue. It seems to try to close all open workbooks thus stalls if another workbook close is cancelled or not responded to. have you any touch-ups that can fix this?
    • To post as a guest, your comment is unpublished.
      crystal · 8 months ago
      Hi Henry,
      The code has been updated with the problem solving. Please have a try. Sorry for the inconvenience and thank you for your comment.
    • To post as a guest, your comment is unpublished.
      Gaston · 10 months ago
      I have the same issue... I tried to open a new workbook, and entered some data.... when the time came, both workbooks were closed, but the new one wasn´t saved... Is there a way to fix this?
      Besides that, it works great!! Thanks a lot!!
      • To post as a guest, your comment is unpublished.
        crystal · 8 months ago
        Hi Gaston,
        The code has been updated with the problem solving. Please have a try. Sorry for the inconvenience and thank you for your comment.