Note: The other languages of the website are Google-translated. Back to English

كيفية حفظ وإغلاق المصنف بعد عدم النشاط لفترة معينة من الوقت؟

في بعض الأحيان ، قد تغلق المصنف بطريق الخطأ عندما تكون مشغولاً بشؤون أخرى لفترة طويلة مما قد يؤدي إلى فقد بعض البيانات المهمة في المصنف. هل هناك أي حيل لحفظ المصنف وإغلاقه تلقائيًا إذا قمت بإلغاء تنشيطه لفترة معينة من الوقت؟

حفظ المصنف وإغلاقه تلقائيًا بعد عدم النشاط لفترة معينة من الوقت باستخدام VBA

السهم الأزرق الحق فقاعة حفظ المصنف وإغلاقه تلقائيًا بعد عدم النشاط لفترة معينة من الوقت باستخدام VBA

لا توجد وظيفة مضمنة في Excel لحل هذه المشكلة ، ولكن يمكنني تقديم رمز ماكرو يمكن أن يساعدك في حفظ المصنف وإغلاقه بعد عدم النشاط في وقت معين.

1. قم بتمكين المصنف الذي تريد حفظه وإغلاقه تلقائيًا بعد عدم النشاط لمدة ثوانٍ معينة ، ثم اضغط على ALT + F11 مفاتيح لفتح ميكروسوفت فيسوال باسيك للتطبيقات نافذة.

2. انقر إدراج > وحدة لخلق وحدة البرنامج النصي ، ولصق الرمز أدناه عليه. انظر لقطة الشاشة:

Dim CloseTime As Date
Sub TimeSetting()
    CloseTime = Now + TimeValue("00:00:15")
    On Error Resume Next
    Application.OnTime EarliestTime:=CloseTime, _
      Procedure:="SavedAndClose", Schedule:=True
End Sub
Sub TimeStop()
    On Error Resume Next
    Application.OnTime EarliestTime:=CloseTime, _
      Procedure:="SavedAndClose", Schedule:=False
 End Sub
Sub SavedAndClose()
    ActiveWorkbook.Close Savechanges:=True
End Sub

 

doc احفظ المصنف القريب بعد عدم النشاط 1

3. ثم في مستكشف المشروع جزء ، انقر نقرًا مزدوجًا هذا المصنف، والصق الكود أدناه في النص المجاور. انظر لقطة الشاشة:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Call TimeStop
End Sub

Private Sub Workbook_Open()
    Call TimeSetting
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
   Call TimeStop
   Call TimeSetting
End Sub

 

doc احفظ المصنف القريب بعد عدم النشاط 2

4. اذهب للنقر المزدوج على الوحدة التي أدخلتها في الخطوة 2 ، واضغط F5 مفتاح لتشغيل الكود. انظر لقطة الشاشة:
doc احفظ المصنف القريب بعد عدم النشاط 3

5. ثم بعد 15 ثانية ، يظهر مربع حوار لتذكيرك بحفظ المصنف ، والنقر فوق نعم لحفظ وإغلاق المصنف.
doc احفظ المصنف القريب بعد عدم النشاط 4

نصيحة:

(1) في الكود الأول ، يمكنك تغيير وقت عدم النشاط إلى آخر في هذه السلسلة: Now + TimeValue ("00:00:15")

(2) إذا لم تقم بحفظ المصنف من قبل ، فإن ملف حفظ باسم سيظهر مربع الحوار أولاً ويطلب منك حفظه.
doc احفظ المصنف القريب بعد عدم النشاط 5


خير حماية ورقة العمل

كوتولس ل إكسيل حماية ورقة العمل يمكن للوظيفة حماية أوراق متعددة أو المصنف بأكمله بسرعة.
doc حماية أوراق عمل متعددة

أفضل أدوات إنتاجية المكتب

Kutools for Excel يحل معظم مشاكلك ويزيد إنتاجيتك بنسبة 80٪

  • إعادة استخدام: أدخل بسرعة الصيغ المعقدة والرسوم البيانية وأي شيء استخدمته من قبل ؛ تشفير الخلايا مع كلمة السر إنشاء قائمة بريدية وإرسال رسائل البريد الإلكتروني ...
  • سوبر فورميولا بار (بسهولة تحرير أسطر متعددة من النص والصيغة) ؛ تخطيط القراءة (قراءة وتحرير أعداد كبيرة من الخلايا بسهولة) ؛ لصق في النطاق المصفى
  • دمج الخلايا / الصفوف / الأعمدة دون فقدان البيانات ؛ تقسيم محتوى الخلايا ؛ ادمج الصفوف / الأعمدة المكررة... منع تكرار الخلايا؛ قارن النطاقات
  • حدد مكرر أو فريد صفوف حدد صفوف فارغة (جميع الخلايا فارغة) ؛ البحث الفائق والبحث الغامض في العديد من المصنفات. تحديد عشوائي ...
  • نسخة طبق الأصل خلايا متعددة بدون تغيير مرجع الصيغة ؛ إنشاء المراجع تلقائيًا إلى أوراق متعددة أدخل الرموز النقطية، مربعات الاختيار والمزيد ...
  • استخراج النص، إضافة نص ، إزالة حسب الموضع ، إزالة الفضاء؛ إنشاء وطباعة المجاميع الفرعية لترحيل الصفحات ؛ التحويل بين محتوى الخلايا والتعليقات
  • سوبر تصفية (حفظ وتطبيق مخططات التصفية على أوراق أخرى) ؛ فرز متقدم حسب الشهر / الأسبوع / اليوم ، التكرار والمزيد ؛ مرشح خاص بواسطة bold، italic ...
  • اجمع بين المصنفات وأوراق العمل؛ دمج الجداول على أساس الأعمدة الرئيسية ؛ تقسيم البيانات إلى أوراق متعددة; تحويل دفعة xls و xlsx و PDF
  • أكثر من 300 ميزة قوية. يدعم Office / Excel 2007-2021 و 365. يدعم جميع اللغات. سهولة النشر في مؤسستك أو مؤسستك. الميزات الكاملة نسخة تجريبية مجانية لمدة 30 يومًا. ضمان استرداد الأموال لمدة 60 يومًا.
علامة تبويب kte 201905

يجلب Office Tab الواجهة المبوبة إلى Office ، ويجعل عملك أسهل بكثير

  • تمكين التحرير والقراءة المبوبة في Word و Excel و PowerPointوالناشر والوصول و Visio والمشروع.
  • فتح وإنشاء مستندات متعددة في علامات تبويب جديدة من نفس النافذة ، بدلاً من النوافذ الجديدة.
  • يزيد من إنتاجيتك بنسبة 50٪ ، ويقلل مئات النقرات بالماوس كل يوم!
أوفيسيتاب القاع
فرز التعليقات حسب
التعليقات (11)
لا يوجد تقييم. كن أول من يقيم!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
لا يعمل الرمز أعلاه عندما تكون الخلية نشطة. إنه

1. أدخل قيمة في الخلية (لا تضغط على Enter أو علامة التبويب)

2. تصغير التفوق.

في هذه الحالة ، لا يعمل الرمز.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
إذا كنت تعمل في مصنف منفصل في الوقت الذي تم فيه الوصول إلى وقت الإغلاق ، فسيتم إغلاق هذا المصنف وليس المصنف غير النشط. يمكن حل ذلك عن طريق تعديل الكود إلى:

خافت وقت قريب كتاريخ
خافت WKB كسلسلة
ضبط الوقت الفرعي ()
WKB = ActiveWorkbook.Name
CloseTime = Now + TimeValue ("00:00:15")
على خطأ استئناف التالي
Application.OnTime EarliestTime: = CloseTime ، _
الإجراء: = "SavedAndClose" ، الجدول الزمني: = صحيح
نهاية الفرعية
Sub TimeStop ()
على خطأ استئناف التالي
Application.OnTime EarliestTime: = CloseTime ، _
الإجراء: = "SavedAndClose" ، الجدول الزمني: = خطأ
نهاية الفرعية
Sub SavedAndClose ()
مصنفات (WKB)
نهاية الفرعية
تم تصغير هذا التعليق بواسطة المشرف على الموقع
لقد لاحظت نفس الشيء. ووجدوا نفس الحل :-)
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أحيانًا أواجه "خطأ وقت التشغيل" عند فتح المصنف الذي يحتوي على هذا الرمز المضمّن فيه. على أي حال لكتابة هذا الرمز بشكل أفضل ليكون أكثر استقرارًا؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
شكرا جزيلا
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، أريد إدخال هذا الرمز في رمز آخر مثل رمز انتهاء الصلاحية مع هذا الرمز ، كيف يمكنني القيام به ....؟
الكود ... التالي
مصنف فرعي خاص_ فتح ()

إكسادات خافتة كتاريخ
خافت أنا كعدد صحيح

تعديل قيم تاريخ انتهاء الصلاحية هنا !!!
anul = عام 2019
لونا = 5 'شهر
ziua = 16 'يوم

exdate = DateSerial (أنول ، لونا ، زيوا)

إذا كان التاريخ> exdate ثم
MsgBox ("التطبيق" & ThisWorkbook.Name & "انتهت صلاحيته!" & vbNewLine & vbNewLine _
& "تاريخ إعداد انتهاء الصلاحية هو:" & exdate & ":)" & vbNewLine & vbNewLine _
& "اتصل بالمسؤول لتجديد الإصدار!") ، vbCritical ، ThisWorkbook.Name

expired_file = ThisWorkbook.Path & "\" & ThisWorkbook.Name

عند حدوث خطأ ، انتقل إلى ErrorHandler
مع مصنفات (ThisWorkbook.Name)
إذا كان .Path <> "" ثم

. المحفوظة = صحيح
.ChangeFileAccess xlReadOnly

قتل expired_file

احصل على اسم الوظيفة الإضافية إذا كانت addin و unistall addin
إذا كان Application.Version> = 12 ثم
I = 5
آخر: أنا = 4
إنهاء حالة

إذا كان صحيحًا (ThisWorkbook.Name، i) = ".xlam" أو Right (ThisWorkbook.Name، i) = ".xla" ثم
wbName = يسار (ThisWorkbook.Name، Len (ThisWorkbook.Name) - i)
إلغاء تثبيت الوظيفة الإضافية إذا كانت مثبتة
إذا تم تثبيت AddIns (wbName)
الوظائف الإضافية (wbName). المثبتة = خطأ
إنهاء حالة
إنهاء حالة

.قريب

إنهاء حالة
انتهت ب

خروج الفرعية

إنهاء حالة

'MsgBox ("لديك & تاريخ - التاريخ و" الأيام المتبقية ")
خروج الفرعية

معالج الأخطاء:
MsgBox "فشل حذف الملف .."
خروج الفرعية

نهاية الفرعية
تم تصغير هذا التعليق بواسطة المشرف على الموقع
إذا كنت تعمل في مصنف منفصل في الوقت الذي تم فيه الوصول إلى وقت الإغلاق ، فسيتم إغلاق هذا المصنف وليس المصنف غير النشط. يمكن حل ذلك عن طريق تعديل الكود إلى: - تصحيحه واختباره من التعليق أدناه - استخدم هذا الكود:

أدخل في "هذا المصنف"

مصنف فرعي خاص_قبل الإغلاق (إلغاء كـ منطقي)
اتصل بـ TimeStop
نهاية الفرعية
مصنف فرعي خاص_ فتح ()
ضبط وقت الاتصال
نهاية الفرعية
Private Sub Workbook_SheetChange (ByVal Sh As Object ، ByVal Target As Range)
اتصل بـ TimeStop
ضبط وقت الاتصال
نهاية الفرعية


أدخل في "الوحدة النمطية":

خافت وقت قريب كتاريخ
ضبط الوقت الفرعي ()
CloseTime = Now + TimeValue ("00:10:00")
على خطأ استئناف التالي
Application.OnTime EarliestTime: = CloseTime ، _
الإجراء: = "SavedAndClose" ، الجدول الزمني: = صحيح
نهاية الفرعية
Sub TimeStop ()
على خطأ استئناف التالي
Application.OnTime EarliestTime: = CloseTime ، _
الإجراء: = "SavedAndClose" ، الجدول الزمني: = خطأ
نهاية الفرعية
Sub SavedAndClose ()
ThisWorkbook.Close Savechanges: = صحيح
نهاية الفرعية


يمكنك تغيير إعداد الوقت عن طريق تغيير CloseTime = Now + TimeValue ("00:10:00") - تم تعيين هذا على 10 دقائق ، قم بتغيير ("00:10:00") إلى أي وقت تريده ويعمل.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
لست متأكدًا مما حدث ولكن هذا الحل لم يعد يعمل. هذا هو الإصلاح لهذا الحل الذي نجح معي:

""
إعادة تعيين باهتة

Public Sub Workbook_Open ()
على خطأ استئناف التالي
قم بتعيين xWB = ThisWorkbook
resetCount = 0
نهاية الفرعية

Private Sub Workbook_SheetChange (ByVal Sh As Object ، ByVal Target As Range) عند الخطأ ، استئناف التالي
إعادة تعيين
نهاية الفرعية

Sub Reset () عند الخطأ ، استأنف التالي
xCloseTime ثابت
إذا resetCount <> 0 ثم
ThisWorkbook.Application.OnTime xCloseTime ، "SaveWork1" ، الجدول الزمني: = False
resetCount = resetCount + 1
xCloseTime = DateAdd ("n" ، 15 ، الآن)
ThisWorkbook.Application.OnTime xCloseTime ، "SaveWork1" ، الجدول الزمني: = صحيح

آخر
resetCount = resetCount + 1
xCloseTime = DateAdd ("n" ، 15 ، الآن)
ThisWorkbook.Application.OnTime xCloseTime ، "SaveWork1" ، الجدول الزمني: = صحيح
إنهاء حالة
نهاية الفرعية
""
هذا يستخدم نفس SaveWork1 باسم:
Sub SaveWork1 ()
Application.DisplayAlerts = خطأ
ThisWorkbook. حفظ
ThisWorkbook.Close

Application.DisplayAlerts = صحيح
نهاية الفرعية

""
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هذا عظيم. أي نصائح حول إضافة مربع رسالة منبثقة من شأنها أن تحذر المستخدم من أن الورقة على وشك الإغلاق ومنحهم خيار إعادة تعيين المؤقت؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
عندما لا أرغب في التعديل وأريد الرجوع فقط ، يظل الملف مغلقًا. لا ينبغي أن يغلق. يجب إعادة تشغيل العد عند اختيار الخلايا. ماهو الحل؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
عندما لا أرغب في التعديل وأريد الرجوع فقط ، يظل الملف مغلقًا. لا ينبغي أن يغلق. يجب إعادة تشغيل العد عند اختيار الخلايا. ماهو الحل؟
لا توجد تعليقات منشورة هنا حتى الآن
اترك تعليقاتك
النشر كضيف
×
قيم المنشور:
0   الشخصيات
المواقع المقترحة

تواصل معنا

حقوق التأليف والنشر © 2009 - شبكة الاتصالات العالمية.extendoffice.com. | كل الحقوق محفوظة. مشغل بواسطة ExtendOffice. | | خريطة الموقع
Microsoft وشعار Office هما علامتان تجاريتان أو علامتان تجاريتان مسجلتان لشركة Microsoft Corporation في الولايات المتحدة و / أو دول أخرى.
محمي بواسطة Sectigo SSL