اذهب الي المحتوي
أوفيسنا

تعديل كود انتحار ملف اكسل


إذهب إلى أفضل إجابة Solved by أ / محمد صالح,

الردود الموصى بها

بداية السلام عليكم

كل سنة وأنتم بخير

أرجو من خبراء الأكواد مساعدتى فى تعديل الكود فى المرفق

باختصار فى المرفق كود انتحار لملف اكسل بعد شهر يعنى الملف يحذف نفسه تلقائيا بعد انتهاء المدة وهى شهر كنت نقلته من موضوع سابق فى المنتدى

المطلوب الاول تعديل الكود ليصبح الحذف التلقائى بعد سنة أو سنتين مثلا

المطلوب الثانى كيف أتأكد من أن الملف فعلا يحذف نفسه بعد سنة أو سنتين  ؟

المطلوب الثالث تركيب كود يمنع نسخ الملف أصلا بحيث لا تظهر كلمة copy فى القائمة  المختصرة للملف (إن كان يمكن هذا المنع ) أو أى شىء آخر يؤدى الغرض

ولحضراتكم جزيل الشكر

 

            
 

 

tagarop.rar

رابط هذا التعليق
شارك

كل عام أنتم بخير

المطلوب الأول

يمكنك تعديل كود السطر 17

If Date > Evaluate("InitialDate") + 30 Then Kill_Myself

بتعديل رقم 30 وهو عدد الأيام إلى 730 لسنتين أو 1095 لثلاث سنوات

حاصل ضرب 365 في عدد السنوات

المطلوب الثاني

للتأكد افتح الملف أولا ليتم تحديد تاريخ اليوم كتاريخ أولي ثم قدّم تاريخ الجهاز سنة إلا دقيقة

يعني سنة إلا يوم ثم اجعل الساعة 23:59

وبعد دقيقة واحدة سيتم حذا الملف

المطلوب الثالث

لا يوجد كود لعمل مثل هذا لأنه سيغير خصائص الويندوز لدى العميل

ولكن يوجد كود بالمنتدى لتشغيل الملف من مسار معين وباسم معين

وإذا تغير الاسم أو المسار يقوم بإغلاق الملف

  • Like 1
رابط هذا التعليق
شارك

كل عام أنتم بخير

المطلوب الأول

يمكنك تعديل كود السطر 17

If Date > Evaluate("InitialDate") + 30 Then Kill_Myself

بتعديل رقم 30 وهو عدد الأيام إلى 730 لسنتين أو 1095 لثلاث سنوات

حاصل ضرب 365 في عدد السنوات

المطلوب الثاني

للتأكد افتح الملف أولا ليتم تحديد تاريخ اليوم كتاريخ أولي ثم قدّم تاريخ الجهاز سنة إلا دقيقة

يعني سنة إلا يوم ثم اجعل الساعة 23:59

وبعد دقيقة واحدة سيتم حذا الملف

المطلوب الثالث

لا يوجد كود لعمل مثل هذا لأنه سيغير خصائص الويندوز لدى العميل

ولكن يوجد كود بالمنتدى لتشغيل الملف من مسار معين وباسم معين

وإذا تغير الاسم أو المسار يقوم بإغلاق الملف

ليتك تتحفنا به فى ملف مشروح

رابط هذا التعليق
شارك

أستاذ محمد كل سنة وحضرتك طيب

نفذت كل اللى حضرتك قلته بالحرف

ولما فتحت الملف ظهر عيب أو خطأ فى الكود فى الجزء الثانى من الكود

برجاء المراجعة وتعديل الكود لمنع التعارض وارفاق الملف معدلاً

تم تعديل بواسطه مختار حسين محمود
رابط هذا التعليق
شارك

  • أفضل إجابة

أخي الكريم مختار

لقد نفذت المطلوب بدون الاهتمام باختبار الكود

لكن يبدو أن الكود به بعض النقص

فقمت بتغيير الإجرائين

وهما يعملان 100%

الإجراء الأول لوضع تاريخ اليوم في آخر خلية في الشيت إذا لم تكن موضوعة

وإذا كانت موضوعة يتم اختبار المدة الموحددة في المتغير days بالأيام

 

والإجراء الثاني لحذف الملف الحالي

بعد إكمال النقص به

mas_killmyself.rar

  • Like 2
رابط هذا التعليق
شارك

أستاذى الكريم
جربت تعديلكم الأخير
غيرت عدد الأيام التى يتم الحذف بعدها الى 2 وقفلت الملف
قدمت تاريخ الجهاز الى 3 أيام مش يومين و فتحت الملف ولم يحث الحذف التلقائى ....برجاء الإفادة
ملحوظة :
عندى كود للحذف التلقائى بعد دقيقة وهو شغال معى 100 % إن كان يمكن لحضرتك تعديله إلى أيام فبها ونعمت
الكود :( يتم الخذف التلقائى بعد دقيقة من الفتح )

Option Explicit
Private Const TIMEOUT As Long = 1
Private Sub Workbook_Open()
    Application.OnTime _
    Now + TimeSerial(0, TIMEOUT, 0), Me.CodeName & ".Kill_Myself"
End Sub
Private Sub Kill_Myself()
     With Me
        .Saved = True
        .ChangeFileAccess xlReadOnly
        Kill .FullName
        .Close False
    End With
    
End Sub

 

تم تعديل بواسطه مختار حسين محمود
رابط هذا التعليق
شارك

أستاذى الكريم

جربت تعديلكم الأخير

غيرت عدد الأيام التى يتم الحذف بعدها الى 2 وقفلت الملف

قدمت تاريخ الجهاز الى 3 أيام مش يومين و فتحت الملف ولم يحث الحذف التلقائى ....برجاء الإفادة

ملحوظة :

عندى كود للحذف التلقائى بعد دقيقة وهو شغال معى 100 % إن كان يمكن لحضرتك تعديله إلى أيام فبها ونعمت

الكود :( يتم الخذف التلقائى بعد دقيقة من الفتح )

Option Explicit

Private Const TIMEOUT As Long = 1

Private Sub Workbook_Open()

    Application.OnTime _

    Now + TimeSerial(0, TIMEOUT, 0), Me.CodeName & ".Kill_Myself"

End Sub

Private Sub Kill_Myself()

     With Me

        .Saved = True

        .ChangeFileAccess xlReadOnly

        Kill .FullName

        .Close False

    End With

    

End Sub

 

الأخ الكريم مختار الملف بعد تعديلي يعمل 100% كما اخبرتك سابقا

ولا أدري أين الخطأ عندك

وهذا تسجيل للشاشة يؤكد عمل الملف

وبالنسبة للكود الجديد الخاص بحذف الملف بعد دقيقة

يمكنك تغييره إلى يوم بجعل الرقم 1 الموجود في السطر الثاني 1440

وهو حاصل ضرب 24 ساعة في 60 دقيقة

وهكذا

وأنصحك بالقراءة في مشاركات المنتدى لمعرفة الأساسيات

قبل التعمق والتعديل في ملفات الزملاء

  • Like 1
رابط هذا التعليق
شارك

أولا :أشكرك يا أستاذ محمد على مجهودك فى مساعدتى و على الفديو

وقبل الفديو أنا مش معارض حضرتك أنا كنت بقولك على اللى حصل معايا.

 

 

ثانيا : الخطأ الذى كنت أفعله ولا أدرى : على جهازى 2 ويندوز  

  7   وعليه دفريز والذى يمنع تعديل التاريخ        و  xp من غير دفريز    

فكنت بشتغل فى الموضوع على xp وما كنتش واخد بالى أن الاكسل اللى عليه لما بيفتح

بيفتح من غير تمكين الماكرو وبعد مشاهدتى للفديو والذى أشكرك عليه مرة تانيه جه فى بالى

أنفذ كل الخطوات على 7 مرة واحدة  فتحت الدفريز ونفذت الخطوات واشتغل الماكرو

لانى كنت ممكنه هناك وتمّ الحذف التلقائى والحمد لله والبركة فى حضرتك والفديو.

 

 

ثالثا : بالنسبة لكود الحذف بعد دقيقة فهمت قصد حضرتك أزاى أعدّل المدة .

بارك الله لك فى وقتك وعملك ومالك وأهلك ...

 

لك منى كل التقدير والاحترام .

تم تعديل بواسطه مختار حسين محمود
رابط هذا التعليق
شارك

  • 4 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information