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

نجوم المشاركات

  1. أ / محمد صالح

    أ / محمد صالح

    أوفيسنا


    • نقاط

      17

    • Posts

      4,431


  2. Eng.Qassim

    Eng.Qassim

    الخبراء


    • نقاط

      5

    • Posts

      2,302


  3. د.كاف يار

    د.كاف يار

    الخبراء


    • نقاط

      4

    • Posts

      1,681


  4. Ali Mohamed Ali

    Ali Mohamed Ali

    المشرفين السابقين


    • نقاط

      3

    • Posts

      11,630


Popular Content

Showing content with the highest reputation on 17 أغس, 2021 in all areas

  1. تفضل التعديل سيتم انشاء مجلد بإسم PDF بجوار الملف نموذج ادخال البيانات1.xlsm
    3 points
  2. احتجت إلى عمل ماكرو يحدد الأرقام المتوالية بشكل خاطئ، بحيث يأتي مثلا (151) بعد (150)، أو يتكرر رقم (151) لكن بشرط أن يكون بين الرقمين فاصلة (،) وهذا يحدث كثيرا في الفهارس، فعملت هذا الماكرو ليقوم بتظليل أي رقم وقع في موضع الخطأ، حسب المثال المذكور. وهذا الماكرو لمن أراد: Sub خطأترقيم() ' ' خطأترقيم Macro 'ماكرو يقوم بتتبع كل رقمين متتاليين، فإذا كان هناك رقمان تاليهما أكبر من السابق أو يساويه ظلله بالأصفر ' Selection.WholeStory Selection.Font.Color = wdColorAutomatic Selection.HomeKey Unit:=wdStory Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting Selection.Find.Replacement.Font.Color = wdColorRed With Selection.Find .Text = "^#^#/" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute replace:=wdReplaceAll With Selection.Find .Text = "^#/" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute replace:=wdReplaceAll For i = 1 To 100000 Dim aa, b, c As Integer Selection.Find.ClearFormatting Selection.Find.Font.Color = wdColorAutomatic Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "[0???-9]، [0???-9]" .Replacement.Text = "" .Forward = True .Wrap = wdFindStop .Format = True .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = True End With Selection.Find.Execute If Selection.Find.Found = False Then End Else Selection.MoveLeft Unit:=wdWord, Count:=1 Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend aa = Val(Selection.Text) Selection.MoveRight Unit:=wdWord, Count:=2 Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend b = Val(Selection.Text) - 1 Selection.MoveLeft Unit:=wdWord, Count:=1 If aa > b Then Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend Options.DefaultHighlightColorIndex = wdYellow Selection.Range.HighlightColorIndex = wdYellow Selection.MoveRight Unit:=wdWord, Count:=1 End If End If Next i If Selection.Find.Found = False Then MsgBox ("تم تحديد الأرقام المتتالية بالخطأ") End If Selection.HomeKey Unit:=wdStory MsgBox ("تم تحديد الأرقام المتتالية بالخطأ") End Sub
    3 points
  3. السلام عليكم ورحمة الله وبركاته.. اقدم لكم اداة صغيرة من برمجتي وضيفتها تغيير اسم الدولة/المنطقة التي تعتمد عليها الكثير من البرامج خصوصاً العربية التي تعتمد الـ Unicode الأداة مكتوب بلغة Visual Studio .NET مبدأ عملها يحتاج ان تقوم بتمرير براميتر لها يحتوي على كود الدولة. عموما كتبت لكم مثال في الاكسس سورس الأداة: Imports System.Runtime.InteropServices Imports System.Threading Imports Microsoft.Win32 Imports System.Globalization Module Main 'C0ded bY: SEMO.Pa3x (: 'Date: 27-5-2021 : 03:26 PM Const subkey As String = "SYSTEM\CurrentControlSet\Control\Nls\Language\" Dim CodeArray As String() = {"af-ZA", "ar-AE", "ar-BH", "ar-DZ", "ar-EG", "ar-IQ", "ar-JO", "ar-KW", "ar-LB", "ar-LY", "ar-MA", "ar-OM", "ar-QA", "ar-SA", "ar-SY", "ar-TN", "ar-YE", "az-AZ", "az-AZ", "be-BY", "bg-BG", "bs-BA", "ca-ES", "cs-CZ", "cy-GB", "da-DK", "de-AT", "de-CH", "de-DE", "de-LI", "de-LU", "dv-MV", "el-GR", "en-AU", "en-BZ", "en-CA", "en-CB", "en-GB", "en-IE", "en-JM", "en-NZ", "en-PH", "en-TT", "en-US", "en-ZA", "en-ZW", "es-AR", "es-BO", "es-CL", "es-CO", "es-CR", "es-DO", "es-EC", "es-ES", "es-ES", "es-GT", "es-HN", "es-MX", "es-NI", "es-PA", "es-PE", "es-PR", "es-PY", "es-SV", "es-UY", "es-VE", "et-EE", "eu-ES", "fa-IR", "fi-FI", "fo-FO", "fr-BE", "fr-CA", "fr-CH", "fr-FR", "fr-LU", "fr-MC", "gl-ES", "gu-IN", "he-IL", "hi-IN", "hr-BA", "hr-HR", "hu-HU", "hy-AM", "id-ID", "is-IS", "it-CH", "it-IT", "ja-JP", "ka-GE", "kk-KZ", "kn-IN", "ko-KR", "kok-IN", "ky-KG", "lt-LT", "lv-LV", "mi-NZ", "mk-MK", "mn-MN", "mr-IN", "ms-BN", "ms-MY", "mt-MT", "nb-NO", "nl-BE", "nl-NL", "nn-NO", "ns-ZA", "pa-IN", "pl-PL", "ps-AR", "pt-BR", "pt-PT", "qu-BO", "qu-EC", "qu-PE", "ro-RO", "ru-RU", "sa-IN", "se-FI", "se-FI", "se-FI", "se-NO", "se-NO", "se-NO", "se-SE", "se-SE", "se-SE", "sk-SK", "sl-SI", "sq-AL", "sr-BA", "sr-BA", "sr-SP", "sr-SP", "sv-FI", "sv-SE", "sw-KE", "syr-SY", "ta-IN", "te-IN", "th-TH", "tl-PH", "tn-ZA", "tr-TR", "tt-RU", "uk-UA", "ur-PK", "uz-UZ", "uz-UZ", "vi-VN", "xh-ZA", "zh-CN", "zh-HK", "zh-MO", "zh-SG", "zh-TW", "zu-ZA"} Sub main() For Each arg As String In My.Application.CommandLineArgs 'check if arg exist in array ! Dim index As Integer = Array.IndexOf(CodeArray, arg) If index > 0 Then 'do change (: SetSystemNonUnicodeLanguage(CultureInfo.GetCultureInfo(arg)) End If Next End Sub Private Sub SetSystemNonUnicodeLanguage(ByVal cinfo As CultureInfo) Dim regkey = Registry.LocalMachine.OpenSubKey(subkey, True) regkey.SetValue("Default", cinfo.LCID.ToString("x4")) ' Reboot computer after timeout of 5 Shell("Shutdown -r -t 5") ' Switches: ' -l Log off profile ' -s Shut down computer ' -r Restart computer ' -f Force applications to close ' -t Set a timeout for shutdownCodeArray ' -m \\computer name (Shutdown remote computer) ' -i Show the Shutdown GUI End Sub End Module البرنامج: Option Compare Database Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long Const SW_SHOWNORMAL = 1 Private Sub cmd_change_Click() Dim SetLocaleInfo_File As String Dim Parameters As String SetLocaleInfo_File = CurrentProject.Path + "\SetLocaleInfo.exe" Parameters = comb_countries ShellExecute 0, "runas", SetLocaleInfo_File, Parameters, vbNullString, SW_SHOWNORMAL End Sub ارفقت لكم جدول لإسماء الدولة ورموزها: Code Country af-ZA Afrikaans (South Africa) ar-AE Arabic (U.A.E.) ar-BH Arabic (Bahrain) ar-DZ Arabic (Algeria) ar-EG Arabic (Egypt) ar-IQ Arabic (Iraq) ar-JO Arabic (Jordan) ar-KW Arabic (Kuwait) ar-LB Arabic (Lebanon) ar-LY Arabic (Libya) ar-MA Arabic (Morocco) ar-OM Arabic (Oman) ar-QA Arabic (Qatar) ar-SA Arabic (Saudi Arabia) ar-SY Arabic (Syria) ar-TN Arabic (Tunisia) ar-YE Arabic (Yemen) az-AZ Azeri (Latin) (Azerbaijan) az-AZ Azeri (Cyrillic) (Azerbaijan) be-BY Belarusian (Belarus) bg-BG Bulgarian (Bulgaria) bs-BA Bosnian (Bosnia and Herzegovina) ca-ES Catalan (Spain) cs-CZ Czech (Czech Republic) cy-GB Welsh (United Kingdom) da-DK Danish (Denmark) de-AT German (Austria) de-CH German (Switzerland) de-DE German (Germany) de-LI German (Liechtenstein) de-LU German (Luxembourg) dv-MV Divehi (Maldives) el-GR Greek (Greece) en-AU English (Australia) en-BZ English (Belize) en-CA English (Canada) en-CB English (Caribbean) en-GB English (United Kingdom) en-IE English (Ireland) en-JM English (Jamaica) en-NZ English (New Zealand) en-PH English (Republic of the Philippines) en-TT English (Trinidad and Tobago) en-US English (United States) en-ZA English (South Africa) en-ZW English (Zimbabwe) es-AR Spanish (Argentina) es-BO Spanish (Bolivia) es-CL Spanish (Chile) es-CO Spanish (Colombia) es-CR Spanish (Costa Rica) es-DO Spanish (Dominican Republic) es-EC Spanish (Ecuador) es-ES Spanish (Castilian) es-ES Spanish (Spain) es-GT Spanish (Guatemala) es-HN Spanish (Honduras) es-MX Spanish (Mexico) es-NI Spanish (Nicaragua) es-PA Spanish (Panama) es-PE Spanish (Peru) es-PR Spanish (Puerto Rico) es-PY Spanish (Paraguay) es-SV Spanish (El Salvador) es-UY Spanish (Uruguay) es-VE Spanish (Venezuela) et-EE Estonian (Estonia) eu-ES Basque (Spain) fa-IR Farsi (Iran) fi-FI Finnish (Finland) fo-FO Faroese (Faroe Islands) fr-BE French (Belgium) fr-CA French (Canada) fr-CH French (Switzerland) fr-FR French (France) fr-LU French (Luxembourg) fr-MC French (Principality of Monaco) gl-ES Galician (Spain) gu-IN Gujarati (India) he-IL Hebrew (Israel) hi-IN Hindi (India) hr-BA Croatian (Bosnia and Herzegovina) hr-HR Croatian (Croatia) hu-HU Hungarian (Hungary) hy-AM Armenian (Armenia) id-ID Indonesian (Indonesia) is-IS Icelandic (Iceland) it-CH Italian (Switzerland) it-IT Italian (Italy) ja-JP Japanese (Japan) ka-GE Georgian (Georgia) kk-KZ Kazakh (Kazakhstan) kn-IN Kannada (India) ko-KR Korean (Korea) kok-IN Konkani (India) ky-KG Kyrgyz (Kyrgyzstan) lt-LT Lithuanian (Lithuania) lv-LV Latvian (Latvia) mi-NZ Maori (New Zealand) mk-MK FYRO Macedonian (Former Yugoslav Republic of Macedonia) mn-MN Mongolian (Mongolia) mr-IN Marathi (India) ms-BN Malay (Brunei Darussalam) ms-MY Malay (Malaysia) mt-MT Maltese (Malta) nb-NO Norwegian (Bokm?l) (Norway) nl-BE Dutch (Belgium) nl-NL Dutch (Netherlands) nn-NO Norwegian (Nynorsk) (Norway) ns-ZA Northern Sotho (South Africa) pa-IN Punjabi (India) pl-PL Polish (Poland) ps-AR Pashto (Afghanistan) pt-BR Portuguese (Brazil) pt-PT Portuguese (Portugal) qu-BO Quechua (Bolivia) qu-EC Quechua (Ecuador) qu-PE Quechua (Peru) ro-RO Romanian (Romania) ru-RU Russian (Russia) sa-IN Sanskrit (India) se-FI Sami (Northern) (Finland) se-FI Sami (Skolt) (Finland) se-FI Sami (Inari) (Finland) se-NO Sami (Northern) (Norway) se-NO Sami (Lule) (Norway) se-NO Sami (Southern) (Norway) se-SE Sami (Northern) (Sweden) se-SE Sami (Lule) (Sweden) se-SE Sami (Southern) (Sweden) sk-SK Slovak (Slovakia) sl-SI Slovenian (Slovenia) sq-AL Albanian (Albania) sr-BA Serbian (Latin) (Bosnia and Herzegovina) sr-BA Serbian (Cyrillic) (Bosnia and Herzegovina) sr-SP Serbian (Latin) (Serbia and Montenegro) sr-SP Serbian (Cyrillic) (Serbia and Montenegro) sv-FI Swedish (Finland) sv-SE Swedish (Sweden) sw-KE Swahili (Kenya) syr-SY Syriac (Syria) ta-IN Tamil (India) te-IN Telugu (India) th-TH Thai (Thailand) tl-PH Tagalog (Philippines) tn-ZA Tswana (South Africa) tr-TR Turkish (Turkey) tt-RU Tatar (Russia) uk-UA Ukrainian (Ukraine) ur-PK Urdu (Islamic Republic of Pakistan) uz-UZ Uzbek (Latin) (Uzbekistan) uz-UZ Uzbek (Cyrillic) (Uzbekistan) vi-VN Vietnamese (Viet Nam) xh-ZA Xhosa (South Africa) zh-CN Chinese (S) zh-HK Chinese (Hong Kong) zh-MO Chinese (Macau) zh-SG Chinese (Singapore) zh-TW Chinese (T) zu-ZA Zulu (South Africa) مدة العمل ( ساعة ونصف ) SetLocaleInfo.rar
    2 points
  4. إن شاء الله يفيدك هذا التعديل Sub قائمة80() Dim Ws As Worksheet, Sh As Worksheet Dim I As Long, x As Long, n As Long, Lr As Long Set Ws = Sheets("السجل الكلي"): Set Sh = Sheets("قوائم80") Lr = Ws.Cells(Rows.Count, 4).End(xlUp).Row Application.ScreenUpdating = False Sh.Range("C7:F86,H7:K86").ClearContents For t = 1 To 2 x = (t - 1) * 40 + 7 For I = n + 9 To Lr If Ws.Cells(I, 6).Value = Sh.Range("D1").Value And Ws.Cells(I, 7).Value = Sh.Range("E1").Value Then Sh.Cells(x, 3).Value = Ws.Cells(I, 4).Value Sh.Cells(x, 4).Resize(1, 2).Value = Ws.Cells(I, 10).Resize(1, 2).Value Sh.Cells(x, 6).Value = Ws.Cells(I, 13).Value If x = t * 40 + 6 Then n = I + 1: Exit For x = x + 1 End If Next I x = (t - 1) * 40 + 7 For I = n To Lr If Ws.Cells(I, 6).Value = Sh.Range("D1").Value And Ws.Cells(I, 7).Value = Sh.Range("E1").Value Then Sh.Cells(x, 8).Value = Ws.Cells(I, 4).Value Sh.Cells(x, 9).Resize(1, 2).Value = Ws.Cells(I, 10).Resize(1, 2).Value Sh.Cells(x, 11).Value = Ws.Cells(I, 13).Value If x = t * 40 + 6 Then n = I - 8: Exit For x = x + 1 End If Next I Next t Application.ScreenUpdating = True MsgBox "Done...", 64 End Sub بالتوفيق
    2 points
  5. وعليكم السلام .دائماً وأبداً ننبه كثيراً على عدم دمج الخلايا لسهولة التعامل مع ملف الإكسيل ,,, تــم الغاء دمج الخلايا لحسن عمل المعادلات وتم وضع كود للطباعة نموذج ادخال البيانات1.xlsm
    2 points
  6. انا فاهم الجذء ده لكن الجذ التالى هو ايه ؟ بس فى نقطه مش فاهمها ازاى 10% من 1000 تكون 3300 المفترض كده 10% كل شهر وليس كل 3 اشهر لان كل ثلاث اشهر زيادة 10% هتكون النتيجه اذا كانت الزيادة بسيطه بعد سنه 1400 لان الزيادة جاية من اصل المبلغ ال هو 1000 مضروب فى 10% يعطينى 100 تجمع بال 1000 يصبح الناتج 1100 وبعد مرور سنه ستكون 1400 لان السنه فيها 4 اربع (3*4=12شهر) 4*100=400 فى حال كانت الزيادة زيادة مركبه هنا هتكون فيها شويه تعقيدات بالنسبه لى لان اعرف اعملها على الاكسيل لكن الاكسيس لم اجربها عليه من قبل ولتوضيح الفكره هتكون كالتالى وزي ما هو وضاح فى الجدول الزيادة بتكون على الرصيد السابق للربع السابق مضروب فى 10% ومجموع عليها الرصيد السابق للربع اتمنى ان تكون الفكره وضحة فى الفرق بينهم والله اعلم قد اكون نسيت امور فى النقطه فاذا كنت اخطأ فرجاء ان توضحو لى خطئى وشكرا
    2 points
  7. بالحقيقة لا اعلم ان توصلت لما تريد ..عملت لك الجداول التي تريها وجعلت لك نموذج للموظف اما النسب الموجودة في عناوين الحقول فهي افتراضية تستطيع تغييرها حسب عملكم اما التنسيقات وبقية الامور فأنت من يتولاها وانا بالخدمة الاهداف.rar
    1 point
  8. 1 point
  9. لم افهم السؤال بشكل جيد.. هل تقصد بأن الموظف توضع له اوزان ولكل وزن نسبة معينة وهذه بمجملها تمثل 80% من الاهداف .. وكذلك له عدة اوزان في الجدارات وتمثل بمجملها 20% هل هذا ماتقصده؟
    1 point
  10. صدقت المنطق لإستخدام مثل هذه البرمجيات ان تكون الحقول نصية
    1 point
  11. شكرا لمرورك الكريم أقصد ب (مع) بالإضافة إلى فالمشاركة السابقة بها حل مشكلة العلامة العشرية وبها أيضا كود استدعاء osk تحياتي
    1 point
  12. استاذنا العزيز @أ / محمد صالح لكن العلامات العشرية تظهر في الجدول دون استخدام on screen keyboard
    1 point
  13. السلام عليكم .. ممكن معادلة لاختيار الرقم الاقل اختيار الكمية الاقل.xlsx
    1 point
  14. هذه أساسيات الدوال للحصول على أصغر قيمة نستعمل min =MIN(A2:B2) بالتوفيق
    1 point
  15. إن شاء الله تصل إليها وتستعملها بسهولة وهذه مشاركتي في عمل لوحة أرقام للبرنامج (للعلم لم أطلع على أي مرفق لمن سبقوني من الأصدقاء في الحل) حيث أن التاريخ يتم إدخاله من date piker فلا حاجة لكتابة حقل التاريخ ولا الشرطة المائلة بالتوفيق mas_numpad.accdb
    1 point
  16. وهذه ايضا في حالة زيادة الربح على الفترة وليس على التراكمي كما في مثال استاذي @husamwahabجزاه الله خيرا الربح التراكمي معمول في البنوك على ما اعتقد i2m - Copy.accdb
    1 point
  17. السلام عليكم هذه مشاركة مع اساتذتي الاعزاء i2m-1.rar
    1 point
  18. يمكنك استعمال هذا الشرط بدلا من السطر المذكور If IsDate(Txt2) then .Range("H" & lastRow).Value = CDate(Txt2) بالتوفيق
    1 point
  19. شكرا لك اخ امير ممنون منك وصلت الفكرة والملف الذي ارسلته واضح وهذا المطلوب جزاك الله خير الجزاء تسلم الايادي 🙆‍♂️
    1 point
  20. السلام عليكم.. في درس اليوم سنقوم بحساب نسبة الربح من سعر الشراء وسعر البيع وسنقوم بحساب سعر البيع من خلال نسبة الربح -------------------------------------------------------------------------------------- المثال الأول: إذا تم شراء سلعة بسعر 450 دولار، وبيعها بسعر 500 دولار، فما هي نسبة الربح؟ الحل: القانون الرئيسي لنسبة الربح: (الربح/سعر الشراء)×100% أولاً: نحسب قيمة الربح لكي نعوضها في القانون في الأعلى الربح = سعر البيع - سعر الشراء 500-450 = 50 دولار. وبالتعويض في القانون الرئيسي: نسبة الربح = (50/450) × 100% = 11.11% -------------------------------------------------------------------------------------- أما لو اردنا حساب سعر البيع من خلال نسبة الربح: المثال الثاني: إذا تم شراء سلعة بسعر 10 دولار وكانت نسبة الربح 25%، فما هو سعر البيع؟ الحل: القانون الرئيسي لحساب سعر البيع من خلال نسبة الربح: (سعر الشراء * نسبة الربح) / 100 + سعر الشراء وبالتعويض في القانون الرئيسي: النتيجة = (10 * 25) / 100 + 10 = 12.5 تحياتي لكم..
    1 point
  21. كل عام وحضرتك بخير وسعادة ورضا ياريت توضح أي جزء من الكود غامض بالنسبة لك حتى يتم توضيحه أكثر
    1 point
  22. يا أخي لو لاحظت المعادلة المكتوبة في الخلية كنت ستجد أنك يمكنك التعديل كما ترغب فقط استبدل الجزء التالي في المعادلة DAY(TODAY()) وضع مكانه "1" وعلى العموم هذا الملف بعد التعديل أشكرك على ذوقك فيما يخص موقعي المتواضع frmfirst2last.rar
    1 point
  23. أخي الكريم هل عدد الأقساط متغير أم ثابت على خمس أقساط؟؟ وأعتقد أنه لا يجب تساوي الأقساط الأربعة الباقية في الطريقة الثانية لأنه من الممكن أن يكون المبلغ المتبقي بعد ما يتم دفعه لا يقبل القسمة على أربعة أم أنه يمكننا تعديل المبلغ المدفوع لما ينبغي أن يكون على العموم هذه محاولة taqseet2.rar
    1 point
  24. الله ما كنت أعرف أن هذا تمرين ومطلوب من الإخوة في دورة عذرا إن كنت قد أسأت
    1 point
  25. الله ما كنت أعرف أن هذا تمرين ومطلوب من الإخوة في دورة عذرا إن كنت قد أسأت
    1 point
  26. 1 point
  27. أخي الكريم مع احترامي لمثال الأخ سالم إذا كان قصدك أنك تريد أن يحسب البرنامج في الطريقتين الأقساط الأربعة بدون كسور مثل 252.60 وتريدها أن تكون مثلا 252 فتفضل وأتمنى أن يكون هو المقصود taqseet.rar
    1 point
  28. أخي عمرو إذا كان قصدك أن تحتوي خلية على حركة الخزينة عن الفترة من وتاريخ اليوم وحتى تاريخ نهاية الشهر الحالي فهذه محاولة مني في الوصول للمطلوب تجدها في المرفق frmtodat2last.rar
    1 point
  29. شكرا لمرورك أخي صفوت وهذا مثال وليس فرضا بقاء المسار على السي ولكن هل لاحظت أن البرنامج سيقوم بعمل نسخة احتياطية من البرنامج في كل مرة تفتح ثم تغلق فيها البرنامج فاسمح لي بطلب ( ليس اختبارا لأني على ثقة في أعضاء هذا الصرح ولكن من باب تبادل الخبرات) عمل شيء يسمح للمستخدم بالاختيار هل يريد عمل نسخة احتياطية عند الخروج فإذا كانت الإجابة بنعم قام البرنامج بالنسخ وإلا فلا ولي اقتراح آخر وهو معرفة عدد النسخ الموجودة في مجلد النسخ الاحتياطي فإذا زادت عن 5 قام البرنامج بحذف الأقدم كيف يتم ذلك؟؟ حتى نكون قد صممنا نظام للنسخ الاحتياطي يمكن لكلٍ منا وضعه في برنامجه برجاء التواصل من الإخوة مشرفي وأعضاء المنتدى فزكاة العلم نشره وكل عام أنتم بخير M.A.S محمد عبد الجواد صالح
    1 point
  30. إخوتي الكود الموجود في المرفق السابق به مشكلة مع المسار الذي يحتوي على مجلد اسمه مكون من كلمتين أو اسم ملف مكون من كلمتين تم اكتشافها بعد كتابة الكود للأسف وهذا الكود بعد التعديل Private Sub Workbook_BeforeClose(Cancel As Boolean) ActiveWorkbook.Save Shell "cmd.exe /C copy " & """" & ThisWorkbook.Path & "\" & ThisWorkbook.Name & """" & " " & """" & "c:\" & Format(Date, "yyyy-mm-dd") & "-" & Format(Now(), "Hh-Nn-AMPM-") & ThisWorkbook.Name & """", 0 End Sub وتم زيادة كود الحفظ حتى لا يسألك عن حفظ التغييرات مرفق الملف بعد التعديل mas_backup2.rar
    1 point
×
×
  • اضف...

Important Information