اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

Foksh

الخبراء
  • Posts

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

  • تاريخ اخر زياره

  • Days Won

    117

كل منشورات العضو Foksh

  1. بعد تجربة الكودين ، لاحظت أنه يعمل أحياناً ولكن ليس على جميع الإصدارات في أوفيس ، فمثلاً قمت بتجربة كود الأستاذ محمد ولم يعمل على 2010 وعمل على اصدار 2016 . بينما بعد التعديل في مشاركتي تم العمل بنجاح على إصدار 2010 ... وبالعودة على اوفيس 2010 إصدار مختلف على نفس الويندوز وفي نفس ظروف ملفات الصوت لم يتم المطلوب دخت من كثرة التنقل بين إصدارات أوفيس والويندوز علنا نصل الى نتيجة تعمل بكفاءة دون مشاكل لإختلاف الإصدار مع الأساتذة ممن يملك معلومة او تجربة .
  2. الشكر موصول لك أستاذ 🤝 @محمد احمد لطفى مع إجراء بعض التعديلات على الدالة في المديول ، تم تنفيذ الفكرة لتعمل على نسخة 2010 ؛ مع العلم ان كود الاستاذ محمد يعمل على اصدار 2016 :) وهذا التعديل للفائدة العامة :- Function GetAudioFileDurationInSeconds(filePath As String) As Long Dim audioApp As Object Dim audioClip As Object On Error Resume Next Set audioApp = CreateObject("WMPlayer.OCX") Set audioClip = audioApp.newMedia(filePath) On Error GoTo 0 If audioClip Is Nothing Then GetAudioFileDurationInSeconds = -1 Else GetAudioFileDurationInSeconds = audioClip.duration End If Set audioClip = Nothing Set audioApp = Nothing End Function
  3. جاري التجربة 🥰
  4. السلام عليكم أخواني وأساتذتي الكرام .. لدي مشروع اقوم بتنفيذه ، وقد وقفت عند نقطة مهمة جداً لي وهي أنني اريد جلب مدة ملف صوتي بحيث تظهر في مربع نص بالثانية ( يعني لو المدة 1 دقيقة ونصف ) تكون النتيجة 90 ثانية .
  5. أخي @tiger wanted ، لا أعتقد أن طلبك ممكن تحقيقه فيما يخص التحكم بشريط التمرير. لكن قد يكون ذلك بطريقة أخرى وهي التحكم بتنقل السجلات نفسها بالطريقة المعروفة . التحريك للأسفل DoCmd.GoToRecord , , acNext التحريك للأعلى DoCmd.GoToRecord , , acPrevious
  6. جرب هذا التعديل ، حسب ما فهمت Main.accdb
  7. مساهمة خارجية ، قم بتجربة هذه الفكرة Move_Frm.accdb
  8. لتحقيق الهدف على ما اعتقد قم باضافة شرط آخر وهو :- قم باستبدال هذا الجزء بما يلي If Day(startDate) = Day(endDate) + 1 Then days = 0 Elseif days > 30 Then months = months + 1 days = days - 30 End If جرب و وافني بالرد
  9. تأييداً لكلام الأستاذ @kkhalifa1960 ، أرجو تجربة التعديل بهذا الكود ، Private Sub Calc_Click() نص3 = DateAdd("d", DateDiff("d", [بداية العمل], [نهاية العمل]) / 2, [بداية العمل]) Dim startDate As Date Dim endDate As Date Dim years As Integer Dim months As Integer Dim days As Integer startDate = [بداية العمل] endDate = [نهاية العمل] years = DateDiff("yyyy", startDate, endDate) months = DateDiff("m", DateAdd("yyyy", years, startDate), endDate) days = DateDiff("d", DateAdd("m", months, DateAdd("yyyy", years, startDate)), endDate) If Day(endDate) < Day(startDate) Then months = months - 1 days = DateDiff("d", DateAdd("m", months, DateAdd("yyyy", years, startDate)), endDate) End If If Month(endDate) < Month(startDate) Then months = 12 + Month(endDate) - Month(startDate) End If If Day(startDate) = Day(endDate) + 1 Then days = 0 End If Dim result As String result = years & " سنة " & months & " شهر " & days & " يوم" نص5 = result نص10 = days نص12 = months نص14 = years End Sub
  10. ابشر ، بتم التعديل وبرفق الملف
  11. أرجو المعذرة أخي الكريم ،، تفضل هذا المرفق Diff.accdb
  12. تفضل التعديل Function CalcAge(StartDate As Date, EndDate As Date) As String Dim years As Integer Dim months As Integer Dim days As Integer Dim totalMonths As Integer totalMonths = Int(DateDiff("m", StartDate, EndDate)) + _ (EndDate < DateSerial(Year(EndDate), Month(EndDate), Day(StartDate))) years = Int(totalMonths / 12) months = totalMonths Mod 12 ' تحويل 30 يومًا إلى 01 شهر If days = 30 Then months = months + 1 days = 0 End If CalcAge = years & " سنة و " & months & " شهر و " & days & " يوم" End Function
  13. 100% استاذنا ومعلمنا الفاضل @ابوخليل بارك الله فيك وجزاك الله كل الخير 🤗
  14. لها حل اخي الكريم ، ولكن اعذرني ليوم الغد إن شاء الله 😊
  15. جرب هذا الكود ، مع تعديل مربع النص الذي به الرقم المتسلسل Dim W As Object Set W = CreateObject("Word.Application") W.Documents.Open "C:\Users\MH\Desktop\test.docx" W.Visible = True W.ActiveDocument.bookmarks("txtname").Select W.Selection.InsertAfter Me.nname.Value W.ActiveDocument.bookmarks("txtarea").Select W.Selection.InsertAfter Me.area.Value W.ActiveDocument.bookmarks("txttele").Select W.Selection.InsertAfter Me.tele.Value ' تم إضافة السطر التالي لحفظ ملف الورد برقم المسلسل W.ActiveDocument.SaveAs "C:\Users\MH\Desktop\" & Me.SerialNumber.Value & ".docx"
  16. أستاذنا الكبير @Moosak هو لم يكن تحديث بالمعنى الحرفي . أنا فقط اختلطت علي الأمور في التعبير أثناء كتابة الرد . وقمت بشرح نقطة كانت موجودة أساساً ولكني تطرقت إليها وفي حال وجود تحديثات جديدة ، لن أتأخر في طرحها وتحديث الروابط
  17. تم تعديل العبارة بشكل تعبيري أفضل أستاذي الكبير @Moosak شكراً لك تنبيهي لإعادة صياغة العبارة السابقة
  18. أخي @iyad mohamad هذه تجربتي المتواضعة 😅 قمت باعتماد فكرة الرسالة للمستلم لقراءة الرسالة أم لا ، وعند اختيار نعم يتم فتح النموذج لقرائتها ، وإذا لا فلا يتم فتح صندوق الرسائل وتبقى الرسالة معلقة ، وعند قرائتها سيضطر للخروج من صندوق الرسائل بالضغط على زر × ، وهنا سيتم الإشارة ✓ في Check Box لتأكيد الاستلام ، وسيأتي الرد للمرسل برسالة تم قراءة الرسالة . هذا اقتراح بسيط قمت بتطبيقه على نموذج الرسالة المستلمة ، ولك حرية التعديل طبعاً ، فهو برنامجك 🤪 قم بتجربة الملف على شبكة ، وأعطني رداً بأي نتيجة كانت ،، test.accdb
  19. تفضل أخي الكريم @sm44ms ، اجعل مصدر مربع النص ASQ هذا السطر :- =DCount("*";"Table1";"[Status] = 'استقالة'") وسيعطيك عدد السجلات التي الحالة للموظف = استقالة . طبعاً قمت بتغيير تسمية حقل ( حالة البطاقة ) إلى Status ؛ لتلافي الأخطاء في الكود مع وجود مسميات باللغة العربية . يا أخي أنا اليوم حظي وافر وجميل لمصادفتي لك مرتين متتاليتين
  20. أخي الكريم ، كنوع من ضبط الحل ، هل لك بإرسال ملف يحتوي على جدول وفيه جزء من البيانات ونموذج حتى نحقق لك مرادك
×
×
  • اضف...

Important Information