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

صالح حمادي

أوفيسنا
  • Posts

    1,745
  • تاريخ الانضمام

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

  • Days Won

    29

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

  1. مثال تطبيقي حول التعامل مع المتصفح: الدخول إلى موقع أوفيسنا في متصفح Internet Explorer من خلال الأكسس المثال التالي يمكننا من إدخال اسم المستخدم و كلمة مرور أوفيسنا و عند الضغط على زر الدخول يفتح الموقع بحسابك الخاص في متصفح أنترنت أكسبلورر Dim HTMLDoc As HTMLDocument Dim oBrowser As InternetExplorer Dim oHTML_Element As IHTMLElement Dim sURL As String On Error GoTo Err_Clear sURL = "https://www.officena.net/ib/login/" Set oBrowser = New InternetExplorer oBrowser.Silent = True oBrowser.Navigate sURL oBrowser.Visible = True Do ' Wait till the Browser is loaded Loop Until oBrowser.ReadyState = READYSTATE_COMPLETE Set HTMLDoc = oBrowser.Document HTMLDoc.all.auth.Value = Me.str_UserName HTMLDoc.all.Password.Value = Me.str_Password HTMLDoc.getElementById("elSignIn_submit").Click ' oBrowser.Refresh ' Refresh If Needed Err_Clear: If Err <> 0 Then 'Debug.Assert Err = 0 Err.Clear Resume Next End If فتح موقع أوفيسنا.rar
  2. السلام عليكم تفضل سوف تجد ما تحتاجه و أكثر هنا
  3. بارك الله فيك أستاذ جعفر رابط رائع فيك الكثير من الفائدة و لك بمثل ما دعوة لي إن شاء الله
  4. ما شاء الله عليك أستاذنا أنت عامل كل الحسابات الخاصة بالأعطال يعطيك ألف عافية إن شاء الله
  5. السلام عليكم و رحمة الله تعالى و بركاته بعد أن أنهينا الشطر الأول الخاص بالتعامل مع الويب من الأكسس بإستخدام أداة WebBrowser و هذا رابط الموضوع: نبدأ الآن بحول الله تعالى في الشطر الثاني و هو التعامل مع صفحات الويب بدون إستخدام أداة WebBrowser سوف نستخدم في هذا الموضوع طريقتين الأولى التعامل المباشر مع المتصفح Internet Explorer و الثانية بإستخدام سرفر معين الجزء الأول: التعامل المباشر مع المتصفح Internet Explorer في هذا الجزء إن شاء الله سوف نقوم بفتح نسخة من المتصفح Internet Explorer و نرسل لها بيانات أو نستقبل منها. سوف نستخدم مثال الأخ @ابوآمنة للتطبيق عليه بإرسال بيانات لنموذج غوغل من خلال متصفح خارجي: هذا هو الكود: Dim HTMLDoc As HTMLDocument Dim oBrowser As InternetExplorer Dim oHTML_Element As IHTMLElement Dim sURL As String On Error GoTo Err_Clear sURL = "https://docs.google.com/forms/d/e/1FAIpQLSejrVMF2ucvGdzXefD7MeoKze4_8Fn-ir7dHmrAIwduHzBbtg/viewform" Set oBrowser = New InternetExplorer oBrowser.Silent = True oBrowser.Navigate sURL oBrowser.Visible = False Do ' Wait till the Browser is loaded Loop Until oBrowser.ReadyState = READYSTATE_COMPLETE Set HTMLDoc = oBrowser.Document HTMLDoc.getElementsByTagName("input").Item(0).Value = Me.n1 HTMLDoc.getElementsByTagName("input").Item(1).Value = Me.n2 HTMLDoc.getElementsByClassName("appsMaterialWizButtonPaperbuttonLabel quantumWizButtonPaperbuttonLabel exportLabel").Item(0).Click Do ' Wait till the Browser is loaded Loop Until oBrowser.LocationURL <> sURL oBrowser.Quit MsgBox "لقد تم إرسال البيانات بنجاح" Me.n1 = "" Me.n2 = "" Err_Clear: If Err <> 0 Then Err.Clear Resume Next End If شرح الكود: Dim HTMLDoc As HTMLDocument Dim oBrowser As InternetExplorer Dim oHTML_Element As IHTMLElement Dim sURL As String هنا قمنا بتعريف المتغيرات التي نحتاجها sURL = "https://docs.google.com/forms/d/e/1FAIpQLSejrVMF2ucvGdzXefD7MeoKze4_8Fn-ir7dHmrAIwduHzBbtg/viewform" هذا رابط الموقع Set oBrowser = New InternetExplorer إسناد نسخة من جديدة من Internet Explorer للمتغير oBrowser oBrowser.Silent = True oBrowser.Navigate sURL oBrowser.Visible = False السطر الأول هو إيقاف ظهور رسائل الأخطاء من المتصفح السطر الثاني تصفح الرابط sURL السطر الثالث التحكم في إظهاء أو إخفاء المتصفح أثناء العمل عليه Do ' Wait till the Browser is loaded Loop Until oBrowser.ReadyState = READYSTATE_COMPLETE الإنتظار إلى حين تحميل الصفحة HTMLDoc.getElementsByTagName("input").Item(0).Value = Me.n1 HTMLDoc.getElementsByTagName("input").Item(1).Value = Me.n2 إرسال قيم للمربع الأول و الثاني HTMLDoc.getElementsByClassName("appsMaterialWizButtonPaperbuttonLabel quantumWizButtonPaperbuttonLabel exportLabel").Item(0).Click الضغط على زر إرسال Do ' Wait till the Browser is loaded Loop Until oBrowser.LocationURL <> sURL إجراء حلقة دورانية لا يخرج منها إلا عند تغير رابط الصفحة و ذلك عند الضغط على زر الإرسال oBrowser.Quit إغلاق المتصفح بعد إرسال البيانات للتجربة افتح المرفق و ادخل بيانات في المربع الأول و المربع الثاني و اضغط على زر الإرسال و لاحظ ماذا يحدث و للإطلاع على ظهور النتائج ادخل على هذا الرابط: https://docs.google.com/spreadsheets/d/e/2PACX-1vSi73gAAIE9Rv8Ux43jjcvq9SSpzdVzs3M3ZEtehWqqP0pW4NLFLnkX3Iqoc9dYm_cx8vPz9S1465zd/pubhtml ارسال بيانات لنماذج غوغل.rar
  6. القلوب عند بعضها أستاذ جعفر. كما لا أنسى أن بداتي مع هذه الأداة كانت من خلال موضوعك مسقط التصفح أنا الآن أقوم بكتابة الموضوع
  7. شو اللي ما فهمته أخي إذا كنت على هذه العبارة فمعناها أن غوغل تقوم بتحديث الجدول تلقائيا بمجرد دخول البيانات و ليس كل 5 دقائق
  8. ممتاز أخي لقد طبقت جميع الخطوات بشكل جيد لا يا أخي يتم التحديث بشكل آني للجدول
  9. بإذن الله يوجد حل أخي الكريم بدأت أمل من هذا الموضوع يأخذ مني الكثير من الوقت و تفاعل الأعضاء فيه نادر. يعني أنت رجعت شوي حوية مشكور. لقد قسمت موضوع تعامل الأكسس مع الويب إلى قسمين : الجزء الأول هو بإستخدام الأداة WebBrowser و الجزء الثاني بدون استخدام هذه الأداة يعني التعامل مباشرة مع المتصفح أنت الآن سبقت الأوان بهذا السؤال. لكن سوف أعطيك مرفق صغير مقفل يقوم بالواجب على أكمل. هذا من أجل عدم خلط الموضوعين مع بعض تملأ المربعات و تضغط على زر إرسال. و في المساء إن شاء الله تعالى سوف أبدأ بالجزء الثاني في موضوع مستقل. و لا تنسى تخبرني بنتيجة المرفق web_SALEH2020.rar
  10. لربط صفحة ويب بقاعدة بيانات تحتاج إلى sql server أو mysql أطلعنا على هذه الفديوهات إن أمكن ذلك
  11. هذه المعلومة مازلت أجهلها نعم يعمل بشكل ممتاز لكن لو تلاحظ في الخصائص سوف تجدها مختلفين عن بعض السبب الله أعلم بالنسبة للأحداث هناك أحداث أخرى غير موجودة حتى في هذه الأداة و من بينها Private Sub WebBrowser3_NewWindow2(ppDisp As Object, Cancel As Boolean) و غيرها. هذا و الله أعلم
  12. هل الأفلام التي تابعتها تخص هذا الموضوع بالتحديد؟ إذا كانت نعم فأطلعنا عليها. هذه الخاصية حسب معلوماتي و الله أعلم غير موجودة بالأكسس فقواعد البيانات من نوع أكسس لا تدعم التعامل مع الويب
  13. الحلقة الثامنة: إستدعاء أحداث و دوال في صفحة ويب سوف نتطرق في هذا الدرس إن شاء الله إلى كيفية إستدعاء حدث لعنصر معين أو إستدعاء دالة موجودة في صفحة ويب. لقد قمت بالتعديل على صفحة ويب بإضافة بعض الكائنات و الدوال من أجل تطبيق هذا الدرس. صفحة الويب هذه موجودة مع المرفق كل ما عليك هو وضعها بجانب الملف. 1- إستدعاء حدث بعد التحديث: الكود التالي يقوم بإستدعاء حدث بعد التحديث لمربع تحرير و سرد اسمه mySelect. كما يمكن استخدام هذا الكود مع مربع نص Me.WebBrowser3.Document.getElementById("mySelect").OnChange 2- إستدعاء حدث عند التمرير: الكود التالي يقوم بإستدعاء حدث عند تمرير الماوس على زر أمر اسمه bt2 Me.WebBrowser3.Document.getElementById("bt2").onmouseover 3- إستدعاء حدث عند النقر: الكود التالي يقوم بإستدعاء حدث عند تمرير على زر أمر اسمه bt1 Me.WebBrowser3.Document.getElementById("bt1").OnClick أو Me.WebBrowser3.Document.getElementById("bt1").Click 4- إستدعاء حدث عند التركيز: الكود التالي يقوم بإستدعاء حدث عند التركيز لمربع نص اسمه mytext Me.WebBrowser3.Document.getElementById("mytext").OnFocus و هكذا نستطيع إستدعاء جميع الأحداث بهذه الطريقة 5- إستدعاء دالة بسيطة موجودة داخل صفحة ويب: نستطيع من خلال الكود التالي إستدعاء الدالة myfunction() دالة بسيطة (بدون براميتر) Me.WebBrowser3.Object.Document.parentWindow.execScript ("myFunction();") 6- إستدعاء دالة موجودة داخل صفحة ويب و تمرير البراميتر: نستطيع من خلال الكود التالي إستدعاء الدالة displayDate(a) و نمرر لها البراميتر a Me.WebBrowser3.Object.Document.parentWindow.execScript ("displayDate('salah hommadi');") 7- عرض رسالة تنبيه في أداة التصفح : يمكننا هذا الكود من عرض رسالة تنبيه داخل أداة التصفح. Me.WebBrowser3.Object.Document.parentWindow.execScript ("alert('الحمد لله على كل حال');") webbrowser.rar
  14. السلام عليكم مشاركة مع أخي عبد القدوس اطلع على هذا الرابط قد تستفيد منه
  15. السلام عليكم أخي الكريم حياك الله في حالتك هذه لا تستخدم الجملة insert بل يجب أن تستخدم الجملة Update Update تقوم بالتعديل على سجل موجود لكن Insert تضيف سجل جديد دائما و هنا تجد شرح مفصل لكلا الجملتين
  16. أنا قلت لحالي يمكن تعزمنا معاك على هذا الغداء 🥩🍌🍇
  17. أخي الكريم لم تجب عن هذا السؤال و الذي وضعه الأستاذ جعفر هل التلاميذ مرتبطون معك على شبكة داخلية أو شبكة أنترنت؟
  18. أستاذ جعفر أعتقد هذا السطر يساوي 0 و ليس أكبر من 0
  19. الحلقة السابعة: التعامل مع الأحداث في صفحة ويب بعد إنقطاع طويل نعود لإكمال هذه السلسلة من الدروس بإذن الله. سوف نتطرق في هذا الدرس لأهم الأحداث التي نحتاجها مع أداة WebBrowser كما هو معلوم أنه عندما ندخل على خصائص أحد الكائنات بالتحديد على تبويب الأحداث تظهر لنا جميع أحداث هذا الكائن. لكن بالنسبة لأداة ويب براوز ليست كل الأحداث موجود في الخصائص. كما أنه توجد العديد من الأحداث لم تعمل معي هذا حسب تجربتي الخاصة. 1- حدث عند إنتهاء تحميل الصفحة: نقوم بإضافة هذا الحدث في محرر الفجوال بسيك مع تغيير اسم أداة التصفح عندك. ونضيف له الكود الذي نريد تنفيذه مع هذا الحدث. Private Sub WebBrowser3_DocumentComplete(ByVal pDisp As Object, URL As Variant) MsgBox "complete" End Sub نضغط على زر تصفح في النموذج عند الإنتهاء من تحميل الصفحة تظهر لنا رسالة complete 2- حدث قبل التصفح: الكود في الحدث التالي يقوم بعرض رابط الصفحة التي سوف ننتقل إليها. Private Sub WebBrowser3_BeforeNavigate2(ByVal pDisp As Object, URL As Variant, Flags As Variant, TargetFrameName As Variant, PostData As Variant, Headers As Variant, Cancel As Boolean) MsgBox URL End Sub 3- حدث فتح نافذة تصفح جديدة: يظهر هذا الحدث عند فتح صفحة ويب في نافذة جديدة. و الخاصية المسؤولة عن فتح نافذة جديدة هي target عندما تكون تساوي _blank معناه فتح الرابط في نافذة جديدة و عندما تساوي هذه الخاصية _self معناه افتح الرابط في نفس الصفحة و هناك قيم آخرى لهذه الخاصية. سوف نطبق هذا الحدث على صفحة أوفيسنا نضغط على زر فتح أوفيسنا و بعد ظهور الصفحة نضغط على زر البحث search تظهر لنا رسالة "نافذة جديدة". Private Sub WebBrowser3_NewWindow2(ppDisp As Object, Cancel As Boolean) MsgBox "نافذة جديدة" End Sub webbroser.accdb
  20. أولا ليس لدي خبرة في تصميم المواقع ثانيا هذه الخاصية يستخدمها المبرمجون كثيرا كأحد طرق الحماية من أجل حمايته من السرقة
  21. أولا يجب إضافة تعديل بسيط لدالتك لتصبح بهذا الشكل: Function sedqtr(mott As String) Dim se As String se = "" For i = 1 To Len(mott) se = se & Format(Asc(Mid(mott, i, 1)), "000") + Int(100 / 15) Next sedqtr = se End Function الدالة المعاكسة لها تكون كالتالي: Function sedqtr(mott As String) Dim se As String se = "" For i = 1 To Len(mott) Step 3 se = se & Chr(Val(Mid(mott, i, 3)) - Int(100 / 15)) Next sedqtr = se End Function
  22. لا يا أخي الشفرة لا تسجل في الرجستري فالمتغيرات المعرفة فوق الدالة نحتاج منها سطر واحد فقط و البقية تستطيع حذفها لأنها خاصة ببرنامج آخر Public Const encodekey As String = "mas"
×
×
  • اضف...

Important Information