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

أ / محمد صالح

أوفيسنا
  • Posts

    4469
  • تاريخ الانضمام

  • Days Won

    195

كل منشورات العضو أ / محمد صالح

  1. اللغة العربية غنية جداً بالمفردات التي لها نفس الحروف ولكن التشكيل هو الذي يفرق بينها فكيف للآلة أن تميز بين كل هذه الكلمات واللغات واللهجات؟؟!! أعتقد أن هذا الموضوع مثل موضوع تحويل النص العربي إلى صوت حتى الآن ليس له حل
  2. أخي الكريم أحمد يرجع السبب في هذه المسافات إلى تغيير قيمة المحاذاة العمودية vertical alignment إلى مضبوطة justified وهذه القائمة توجد في نافذة إعداد الصفحة page setup في التبويب الثالث التخطيط layout والصواب أن تكون أعلى top جرب وأخبرني بالنتيجة
  3. ما شاء الله حل رائع أخي أبا عبد الله على فكرة أنا أيضا أبو عبد الله ونور الله بارك الله لك
  4. بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته يسعدني أن أقدم لكم اليوم هدية متواضعة من شأنها أن تعلم الإنسان قانون التطور وكيف كان يفكر الإنسان وكيف أصبح يفكر وعلى رأي المثل من فات قديمه تاه وهذه إحدى أفضل مقتنياتي برنامج إكسل 97 كامل وبورتابل اي محمول وبدون تثبيت وبحجم خرافي 10.5 مب فقط فك الضغط عنه واشتغل وهذا رابط التحميل ولا ينقصني سوى دعاؤكم
  5. أكرمك الله أخي الكريم أبا خليل هذا بعض ما عندكم
  6. لحل هذا اللغز أخي الكريم ضع في عمود معين تختاره سلسلة الأرقام التي تريد تكرارها ولو إلى مليون (نفترض أنه العمود b وسلسلة الأرقم حتى الرقم 20) ثم ضع في العمود الذي تريد التسلسل بالتكرار فيه هذه المعادلة (نفترض أنه مثلاً العمود A وأول خلية بها أرقام هي a1) =INDEX($B$1:$B$20,ROUNDUP(ROWS(A$1:A1)/5,0)) جرب وأخبرني بالنتيجة
  7. اضغط زر الأوفيس ثم خيارات options ثم خيارات متقدمة advanced وفي الجزء العرض display ستجد عرض القياسات بوحدة show measurements in units of اختر منها ما تريد
  8. اعذرني أخي يوسف ما دلالة الرقم 8 في معادلتك؟؟ وإلى اي شيء يعود؟ عزيزى الغالى ماس كل قطة كبيرة معها 7 قطط صغيرة يبقى عددهم 8 قطط تمام إذاً اسمح لي بتغيير المعادلة هكذا =(4*8*7*7*7)+(2*7) حتى يتمكن ضعاف التركيز مثلي من تتبع الأمر ههههههههه
  9. لا أدري ما الخلل عندك فالكود يعمل معي على نماذج بها نماذج فرعية وبها قوائم وأزرار وتسميات ومعظم أنواع عناصر التحكم ولكن جرب أن تستدعي دالة التحجيم resizefrom Me, 1024, 768 قبل أمر التكبير DoCmd.Maximize ...... للعلم تم تعديل الدالة للتحكم في حجم خط عنصر التحكم الذي يحتوي على نصوص ليتناسب مع تغيير حجم العنصر ودقة الشاشة
  10. أخي الكريم الكود وظيفته هي قراءة دقة الشاشة لدى المستخدم ومقارنتها بأفضل دقة وهي المحددة منك في استدعاء الدالة resizefrom Me, 1024, 768 ثم إذا كانت غير المحددة منك يتم تغيير حجم النموذج وكل عناصره بما يتناسب مع دقة الشاشة الموجودة بجهاز المستخدم سواء بتكبير حجم النموذج إذا كانت دقته أعلى من المحددة في الكود أو بتصغيره إذا كانت دقة أصغر من المحددة في الكود أما بالنسبة للمسافات بين العناصر فهي أيضا تمت مراعاتها حيث يتم تحديد موضوع العنصر في النموذج بناء على دقة الشاشة ...... ويبدأ الكود ب wrate = DisplaySize(0) / bestw hrate = DisplaySize(1) / besth ويعني معدل العرض يساوي ناتج قمة عرض شاشة المستخدم على أفضل عرض (المحدد في استدعاء الدالة) وكذلك معدل الارتفاع ثم frm.InsideWidth = frm.InsideWidth * wrate frm.InsideHeight = frm.InsideHeight * hrate وتعني تغيير عرض النموذج إلى عرض النموذج الأصلي مضروباً في معدل العرض (المحسوب سابقاً) وكذلك تغيير ارتفاع النموذج ثم Dim fc As Control For Each fc In frm.Controls fc.Top = fc.Top * hrate fc.Left = fc.Left * wrate fc.Width = fc.Width * wrate fc.Height = fc.Height * hrate Next وتعني أنه يتم تغيير موضع كل عنصر تحكم في النموذج إلى موضعه الجديد الناتج عن ضرب مكانه الأصلي في معدل العرض أو الارتفاع وتم تغيير ما يلي مكانه بالنسبة لأعلى النموذج ومكانه بالنسبة ليسار النموذج وعرضه وارتفاع هذا هو شرح الدالة وكيفية عملها ........ ولكن ما معنى نموذج يملأ الشاشة؟؟
  11. مرحبا بك معنا مرة ثانية أخي أبو أسامة اشتقنا لك واشتاق إليك جميع أعضاء المنتدى وفقك الله ولا أبعدك عنا ثانية
  12. اعذرني أخي يوسف ما دلالة الرقم 8 في معادلتك؟؟ وإلى اي شيء يعود؟
  13. شكرا لك أخي مجدي لغز جميل أنا حليته من الآخر بهذه المعادلة =((4*7*7)+28)*7*7+14 وياريت كل واحد يقول لنا المعادلة اللي وصل للحل بيها
  14. يوجد كود أخي الكريم لحذف التشكيل أما وضعه فلا أعتقد
  15. شكرا لك أخي الكريم برجاء استخدام البحث قبل كتابة أي موضوع جديد http://www.officena.net/ib/index.php?showtopic=38279
  16. أخي الكريم إذا استعملت البحث في أوفيسنا ستجد روائع في هذا المجال هذا الرابط واحد منها http://www.officena....showtopic=31297 وأنا بطبعي أحب الاختصار فقمت بعمل كود مختصر يقوم بنفس الغرض إن شاء الله فقط ضع في موديول الكود التالي Declare Function DisplaySize Lib "user32" Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long Function resizefrom(frm As Form, bestw As Integer, besth As Integer) On Error Resume Next wrate = DisplaySize(0) / bestw hrate = DisplaySize(1) / besth frm.InsideWidth = frm.InsideWidth * wrate frm.InsideHeight = frm.InsideHeight * hrate Dim fc As Control For Each fc In frm.Controls fc.Top = fc.Top * hrate fc.Left = fc.Left * wrate fc.Width = fc.Width * wrate fc.Height = fc.Height * hrate fc.FontSize = fc.FontSize * wrate Next End Function وفي حدث عن تحميل النموذج قم باستدعاء الدالة كالتالي resizefrom Me, 800, 600 حيث 800 في 600 هي دقة الشاشة المناسبة لعرض النموذج بدون تحجيم (يمكنك كتابة دقة الشاشة الحالية التي تصمم فيها البرنامج) وإذا تغيرت عن هذا يتغير حجم النموذج سواء بالتكبير أو بالتصغير جرب وأخبرني بالنتيجة
  17. تفضل أخي الكريم diplay_hl_dialogbox.rar
  18. يفضل أن تبدأ موضوعاً جديداً بهذا الخصوص مع إرفاق ملف للتعديل عليه هذا طبعاً بعد محاولتك أنت في الوصول للحل
  19. أخي الكريم ضع هذا الكود في حدث عن النقر للزر Me.الرابط.SetFocus SendKeys "^k" ويعني هذا الكود وضع المؤشر في حقل الرابط ثم الضغط على مفاتيح Ctrl+k وهي الخاصة بإظهار الصندق الحواري تحرير ارتباط تشعبي وذلك من خلال الطريقة sendkeys .......... ونصيحة أخي الكريم تعود على تسمية الحقول في الجداول والنماذج بحروف انجليزية ولو حتى بأسماء عربية مثل edafa حتى يسهل كتابة الكود
  20. بارك الله فيك أخي وليد بالنسبة لأولاً : الأمر بسيط جداً حيث يمكنك إنشاء تقرير من خلال المعالج ثم اجعل مصدر هذا التقرير الاستعلام query1 سيظهر لك التقرير الخاص بالموظف المعروض في النموذج بالنسبة لثانياً : أنا جربت الكود على موظف واحد وجاري تجريبته على أكثر من موظف ولكن العبرة بصحة طريقة الحساب ولي عدد الموظفين. بالنسبة لثالثاً: إذا اعتمدت على طريقة سنوات الخدمة الإضافية بطريقة تاريخ البداية والنهاية فهذا موضعه أما إذا أخذت طريق ناتج الخدمة فاستخدم معادلة الجمع بين المدد فقط حيث يتم إعطائها مصفوفة بالمدد وتقوم الدالة بجمعهم أو طرحهم حسب علامة السالب في بداية المدة بالنسبة لرابعاً: إذا كانت عملية إختيار اسم الموظف واختيار نوع الخدمة من قائمة وكتابة تاريخ بداية ونهاية المدة شيء صعب فما هو السهل إذاً؟؟!! بالنسبة لخامساً: الدوال الموجودة في الموديول لحساب الفرق بين تاريخين ثم قراءة ناتج الدالة الأولى والتعامل معه بالجمع أو الطرح ويوجد دالة لقراءة عمود مدة الخدمة من الاستعلام وإخراجه في صورة مصفوفة حتى يمكن للدالة الثانية التعامل معها ويتم استخدام الدوال الموجودة في الكود في أي مكان في قاعدة البيانات في الاستعلامات و النماذج والتقارير وجاري دراسة المعادلة مادامت أخرجت نتائج غير صحيحة معك أخي الكريم
  21. الاخ يوسف شكرا على المرور المفتاح يعمل بشكل سليم والدليل تنفيذ الكود من صفحة الاكسيل مباشرة ولكن المشكلة عندما تكون شاشة الفيجوال مفتوحة المفتاح لاينفذ الام لماذا لالالالالالالالا نعرف أخي الكريم عصام شاشة الفيجوال بيسك هكذا سميتها أنت وهنا سر الإجابة على سؤالك الكود يطلب ربط تنفيذ الماكرو ..... عند الضغط على زر .... إذا كان التطبيق (برنامج الإكسل) مفتوحا ونشطاً والفيجوال بيسك ليست هي تطبيق الأوفيس وإنما تطبيق كامل تم إرفاقه مع الأوفيس لذا لا يسري عليه ما يسري على الإكسل في حدث عند الضغط على مفتاح ثم أن شاشة الفيجوال بيسك لا يفتحها سوى المبرمج فكيف يضغط المستخدم على مفتاح وهو فيها إذا كان لا يصل إليها؟؟!!
  22. شاهد معي هذا الموضوع http://www.officena.net/ib/index.php?showtopic=39248 وأخبرني برأيك به
  23. اعرض الملف الدليل الشامل في حساب مدد خدمة الموظفين وإجمالي هذه المدد بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته ================ كثرت الأسئلة في الفترة الأخيرة حول حساب الفرق بن تاريخين ويستخدم هذا في حساب مدة خدمة الموظفين من تاريخ التعيين إلى الآن وكذلك مدد الخدمة الإضافية وكذلك مدد الانقطاع عن العمل -------------------------------------- ولذلك توكلت على الله وقمت بتصميم هذا الملف لعله يفيد كل من يبحث في هذا الموضوع والله من وراء القصد ولا ينقصني سوى دعاؤكم ............ تم تحديث البرنامج وإجراء بعض التعديلات صاحب الملف أ / محمد صالح تمت الاضافه 13 نوف, 2011 الاقسام قسم الأكسيس
  24. Version 2.0.0

    3487 تنزيل

    بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته ================ كثرت الأسئلة في الفترة الأخيرة حول حساب الفرق بن تاريخين ويستخدم هذا في حساب مدة خدمة الموظفين من تاريخ التعيين إلى الآن وكذلك مدد الخدمة الإضافية وكذلك مدد الانقطاع عن العمل -------------------------------------- ولذلك توكلت على الله وقمت بتصميم هذا الملف لعله يفيد كل من يبحث في هذا الموضوع والله من وراء القصد ولا ينقصني سوى دعاؤكم ............ تم تحديث البرنامج وإجراء بعض التعديلات
  25. ما شاء الله تجميعة رائعة أخي جمال وفقك الله وأضيف لابداعات الإخوة دالة بسيطة للفرق بين تاريخين بالطريقة المتبعة عندنا في مصر (وبها بعض الاختلاف عن datedif الموجودة في الإكسل) حيث يتم حساب السن عندنا بطرح أيام التاريخ الأحدث - أيام التاريخ الأقدم وإذا كان الناتج بالسالب يتم استلاف شهر (30 يوم كقاعدة ثابتة) ونفس الكلام مع الشهور مع استلاف 12 شهر في حالة شهور التاريخ الأحدث أقل من شهور التاريخ القديم والناتج مجمع كله في خلية واحدة Function date_diff(oldd As Date, newd As Date) As String Dim years, months, days As Integer years = Year(newd) - Year(oldd) If Month(newd) < Month(oldd) Then years = years - 1 months = (Month(newd) + 12) - Month(oldd) Else months = Month(newd) - Month(oldd) End If If Day(newd) < Day(oldd) Then months = months - 1 days = (Day(newd) + 30) - Day(oldd) Else days = Day(newd) - Day(oldd) End If date_diff = Format(years, "00") & " عام و " & Format(months, "00") & " شهر و " & Format(days, "00") & " يوم" End Function بارك الله في كل من ساهم في هذا الموضوع
×
×
  • اضف...

Important Information