السلام عليكم ورحمة الله وبركاته
كنت منذ فترة قدمت لحضراتكم موضوعا بعنوان : إغلاق آلى لملف اكسل إذا ترك بدون استخدام
على الرابط التالى : http://www.officena.net/ib/index.php?showtopic=59908
واليوم أعرض على حضراتكم موضوعا شبيها كما يبدو من عنوان الموضوع : كيفية تشغيل كود ( أى كود ) إذا ترك ملف الاكسل بدون استخدام
الطريقة :
1- ضع الكود التالى فى حدث الملف
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
ResetTime ' كود اعادة المدة كلما حدث تنشيط شيت
End Sub
Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
ResetTime ' كود اعادة المدة كلما حدث تغيير فى البيانات
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
ResetTime ' كود اعادة المدة كلما حدث تغيير فى شيت
End Sub
ضع الكود التالى بمديول عادى
Public MyTime As Date
Sub Auto_Open()
MyTime = Now + TimeSerial(0, 0, 30) ' بداية عمل الكود بعد فتح الملف
Application.OnTime MyTime, "MyMacro"
End Sub
Sub CancelOnTime()
Application.OnTime MyTime, "MyMacro", , False
End Sub
Sub ResetTime()
On Error Resume Next
Application.OnTime EarliestTime:=MyTime, Procedure:="MyMacro", Schedule:=False
MyTime = Now + TimeSerial(0, 1, 0) ' المدة الزمنية التى يعمل بعدها كودك
Application.OnTime EarliestTime:=MyTime, Procedure:="MyMacro"
On Error GoTo 0
End Sub
Sub MyMacro()
' ضع كودك الذى تريد تشغيله اذا لم يكن الملف نشطا
' مثال
Shell "C:\WINDOWS\system32\Bubbles.scr /S", vbMaximizedFocus
' انه كودك بالأمر التالى
ResetTime
End Sub
3 - احفظ الملف و أعد فتحه
طالما أنت شغال على الملف لن يعمل الكود اذا توقفت عن العمل ستبدأ الفترة الومنية التى يعمل بعدها كودك
تحياتى لكم وأتمنى أن ينال الملف اعجابك
المرفق :
تشغيل آلى لكود إذا ترك الاكسل بدون استخدام.rar