في كثير من الحالات، وخاصة في مكان العمل، من المفيد جدا تعيين تاريخ انتهاء الصلاحية (أو تاريخ الصلاحية إذا كنت تفضل) لتقاريرك وملفات البيانات الخاصة بك وما إلى ذلك، وحتى لو كان هذا الاحتمال ليست معروفة جيدا، فمن الممكن استخدام تاريخ انتهاء ملف إكسيل . انها ليست معقدة ويمكن تجنب العديد من المشاكل مثل:
- الإصدارات القديمة من التقارير التي "يهيمون على وجوههم" في مكان ما في الشركة دون أن تعرف
- الإصدارات القديمة من أدوات إكسيل / فبا التي قام المستخدمون بنسخها إلى جهاز الكمبيوتر الخاص بهم
- ملفات الاستخدام المؤقت التي يمكن استخدامها لأغراض غير لائقة
- ...
إليك شرح كيفية المتابعة ...
كيفية القيام بذلك: ملف إكسيل تاريخ انتهاء الصلاحية والتدمير الذاتي لملفات إكسيل
لتكون قادرة على تعيين تاريخ الصلاحية لملف اكسل (أو لضمان تدمير الذات بعد تاريخ معين)، سيكون من الضروري استخدام لغة فبا . إذا كنت معتادا على فبا، وسوف تجد كل ما تحتاجه في وقت لاحق على هذه الصفحة (أمثلة التعليمات البرمجية فبا).
إذا كان مصطلح " فبا " لا تثير الكثير، ونعرف أنه مع التفسيرات التي تلي، سوف تحصل هناك دون صعوبة كبيرة جدا.
باستخدام ملف زلسم
كما سيكون لدينا لاستخدام فبا، وهذا يعني أن الملف مع تاريخ الصلاحية / انتهاء الصلاحية يجب أن يتم حفظها في تنسيق (وبالتالي لاحقة) .XLSM
وليس .XLSX
.
في حد ذاته، هذا لا يتغير كثيرا بالنسبة للمستخدم إلا أنه، اعتمادا على
التكوين الأمني لنظامه، قد تضطر إلى السماح باستخدام وحدات الماكرو.
رمز فبا الأساسي الذي يؤدي إلى انتهاء صلاحية ملف إكسيل
إذا كنت تعرف أي شيء عن فبا، فإنه من السهل: مجرد نسخ / لصق التعليمة البرمجية التالية في كائن ThisWorkbook
المصنف ...
إذا كنت لا تعرف ، وهنا كيف:
- افتح محرر فبا من مصنف إكسيل الخاص بك عن طريق الضغط على
Alt
+ F11
- على اليسار، انتقل إلى كائن
ThisWorkbook
عن طريق فتح VBAProject
باسم المصنف ثم قم بفتح مجلد " Microsoft Excel Objects
" عن طريق النقر عليه.
- انقر نقرا مزدوجا فوق
ThisWorkbook
وفي النافذة الفارغة على الشاشة، الصق رمز فبا أدناه.
- لا ننسى لحفظ الموثق الخاص بك إذا لزم الأمر.
يجب أن يكون هذا لقطة قول تماما:
وهنا هو بالفعل رمز فبا الأساسي . سيتم عرض رسالة في حالة تجاوز تاريخ انتهاء الصلاحية المختار.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
Private Sub Workbook_Open ( )
'par Excel-Malin.com ( http://excel-malin.com )
Application . ScreenUpdating = False 'l'utilisateur ne voit pas les changement sur son écran
'la date d'expiration
DateExpiration = DateSerial ( 2017 , 12 , 31 ) ' <= choisissez la date d'expiration >>> via la fonction DateSerial avec les paramètres (aaaa, mm, jj)
'compare la date d'expiration avec la date d'aujourd'hui
If DateExpiration <= Date Then
'le code de l'action à effectuer quand le fichier est expiré
'par exemple un message:
MsgBox "Ce fichier n'est plus valide..."
Else
End If
Application . ScreenUpdating = True 'on réenclanche l'affichage des changements
End Sub
|
إجراءات التنفيذ عند انتهاء صلاحية ملف إكسيل
ومن الممكن الانتظار لهدفنا (وهذا هو، جعل ملف إكسل غير صالحة للاستعمال بعد تاريخ محدد ) في نواح كثيرة. وهنا اثنين من أبسط منها.
إغلاق تلقائي عند فتح ملف إكسيل
تضمن التعليمات البرمجية التالية أنه عند فتح الملف، يتم تحديد التاريخ وإذا لم يتم استيفاء شرط الصلاحية، يتم إغلاق الملف تلقائيا دون تمكن المستخدم من التدخل .
رمز لوضعه في كائن ThisWorkbook
المصنف الخاص بك:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
Private Sub Workbook_Open ( )
'par Excel-Malin.com ( http://excel-malin.com )
Application . ScreenUpdating = False 'l'utilisateur ne voit pas les changement sur son écran
'la date d'expiration
DateExpiration = DateSerial ( 2017 , 12 , 31 ) ' <= choisissez la date d'expiration >>> via la fonction DateSerial avec les paramètres (aaaa, mm, jj)
'compare la date d'expiration avec la date d'aujourd'hui
If DateExpiration <= Date Then
Application . DisplayAlerts = False 'on empêche les pop-ups pour confirmer la suppression des Feuilles d'apparaître
'fermeture automatique et immédiate du Classeur
ThisWorkbook . Close SaveChanges : = False
Application . DisplayAlerts = True 'on réenclanche l'affichage des pop-ups de confirmation/alerte
Else
End If
Application . ScreenUpdating = True 'on réenclanche l'affichage des changements
End Sub
|
حذف المحتوى عند فتح ملف
يذهب الرمز أدناه إلى أبعد من ذلك. بشكل عام، يستحيل على الملف "حذف نفسه" بعد تاريخ انتهاء الصلاحية. من ناحية أخرى، ما هو ممكن هو الاثار من الاجراء الذي سيتم حذف كافة محتويات الملف وإجراء نسخة احتياطية من الملف لجعل هذا التغيير دائم .
يتم وضع هذا الرمز في كائن " ThisWorkbook
" (كما هو موضح لرمز القاعدة أعلاه).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
Private Sub Workbook_Open ( )
'par Excel-Malin.com ( http://excel-malin.com )
Application . ScreenUpdating = False 'l'utilisateur ne voit pas les changement sur son écran
'la date d'expiration
DateExpiration = DateSerial ( 2017 , 12 , 31 ) ' <= choisissez la date d'expiration >>> via la fonction DateSerial avec les paramètres (aaaa, mm, jj)
'compare la date d'expiration avec la date d'aujourd'hui
If DateExpiration <= Date Then
Application . DisplayAlerts = False 'on empêche les pop-ups pour confirmer la suppression des Feuilles d'apparaître
'on supprime toutes les Feuilles sauf la feuille active (car le classeur doit toujours contenir au moins une Feuille)
Dim Feuille As Worksheet
For Each Feuille In ThisWorkbook . Worksheets
If Feuille . Name <> ActiveSheet . Name Then Feuille . Delete
Next Feuille
'on supprime le contenu de la Feuille restante
ActiveSheet . Cells . Delete Shift : = xlUp
'on sauvegarde le fichier pour rendre la suppression du contenu permanente
ThisWorkbook . Save
Application . DisplayAlerts = True 'on réenclanche l'affichage des pop-ups de confirmation/alerte
Else
End If
Application . ScreenUpdating = True 'on réenclanche l'affichage des changements
End Sub
|
نقية وبسيطة التدمير الذاتي لملف إكسيل
وهنا هو الحل الأكثر جذرية - ملف إكسل يمكن حذف نفسها من القرص . في الأساس، يمكن للملف محو الذاتي !
رمز التدمير الذاتي في الخطوط 13-18. يتم إدخال هذا الرمز في البنية الأساسية (انظر أعلاه). يجب وضع كل شيء في الكائن " ThisWorkbook
" ...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
Private Sub Workbook_Open ( )
'par Excel-Malin.com ( http://excel-malin.com )
Application . ScreenUpdating = False 'l'utilisateur ne voit pas les changement sur son écran
'la date d'expiration
DateExpiration = DateSerial ( 2017 , 12 , 31 ) ' <= choisissez la date d'expiration >>> via la fonction DateSerial avec les paramètres (aaaa, mm, jj)
'compare la date d'expiration avec la date d'aujourd'hui
If DateExpiration <= Date Then
'autodestruction de fichier Excel (le fichier s'efface lui-même)
Dim NomComplet As String
NomComplet = Application . ActiveWorkbook . FullName
ActiveWorkbook . Saved = True
Application . ActiveWorkbook . ChangeFileAccess xlReadOnly
Kill NomComplet
Application . ActiveWorkbook . Close False
Else
End If
Application . ScreenUpdating = True 'on réenclanche l'affichage des changements
End Sub
|
هذه هي الخطوة النهائية - استخدام بحذر!
بعض الملاحظات العملية
الأمثلة التي عرضتها لكم، فضلا عن هذا النهج كله، تمثل قاعدة من شأنها أن تلبي الغالبية العظمى من المستخدمين . يمكنك استخدام دون مشاكل في الحالات التي لا تتوقع شخص ما في محاولة "فرض" الحماية الخاصة بك. إذا كنت ترغب في حماية البيانات الخاصة بك إلى أقصى حد، فإن هذا النهج تحتاج إلى أن تستكمل بوسائل أخرى لردع المستخدمين الخبيثة .
وإليك كيفية جعل انتهاء ملف إكسيل موثوقا قدر الإمكان .
استنتاج
حتى هنا كنت ملف اكسل التي يمكنك تركها في البرية في حين يجري هادئة حول صلاحيتها وتاريخ انتهاء الصلاحية. انها ليست معقدة جدا ويجعل الحياة، وخاصة في شركة، قليلا أكثر هدوءا. هذا هو واحد من العديد من الفرص العامة غير معروفة . ومن الآن فصاعدا، كنت من بين أولئك الذين يعرفون أنه من الممكن وخاصة أولئك الذين يعرفون كيفية القيام بذلك. فرصة عظيمة لإقناع الطاهي الخاص بك! 😉
شكرا على المتابعة