السلام عليكم ورحمة الله وبركاته
لدي سؤالين ارجو ان أجد الاجابة عليهما
1/ أريد طريقة تمكنني من الدخول للاكسل من خلال الفيجوال بيسك غير OLE ؟
2/ كيف يمكنني أن اجعل للبرنامج المصمم بالفيجوال بيسك أيقونة تظهر عند بدء التشغيل في شريط المهام؟
وشكرا
السلام عليكم ورحمة الله وبركاته
لدي سؤالين ارجو ان أجد الاجابة عليهما
1/ أريد طريقة تمكنني من الدخول للاكسل من خلال الفيجوال بيسك غير OLE ؟
2/ كيف يمكنني أن اجعل للبرنامج المصمم بالفيجوال بيسك أيقونة تظهر عند بدء التشغيل في شريط المهام؟
وشكرا
بالنسبة لظهور أيقونة البرنامج
نقوم بعمل مديول Modul ونكتب بداخله الشفرة التالية
' ثم نضع هذا الكود في الفورم في حدث Form_Load
Private Sub Form_Load() Me.Show Me.Refresh With nid .cbSize = Len(nid) .hWnd = Me.hWnd .uId = vbNull .uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE .uCallBackMessage = WM_MOUSEMOVE .hIcon = Me.Icon .szTip = "Your ToolTip" & vbNullChar End With Shell_NotifyIcon NIM_ADD, nid End Sub Private Sub Form_Resize() If Me.WindowState = vbMinimized Then Me.Hide End Sub Private Sub Form_Unload(Cancel As Integer) Shell_NotifyIcon NIM_DELETE, nid End Sub
أما بالنسبة لربط الاكسل بالفيجول عن طريق الكود فيتم عن طريق التالي
في التعريف العام General نكتب التعريف التالي
Dim ws As DAO.Workspace Dim db As DAO.Database Dim rs As DAO.Recordset
ثم نرسم في الفورم أداة MSFlexGrid لكي تظهر الحقول فيها
ثم نضع هذا الكود في حدث Form_Load
Set ws = DBEngine.Workspaces(0)
'ExcelFile.xls اسم الملف
Set db = ws.OpenDatabase(App.Path & "\ExcelFile.xls", False, False, "Excel 5.0;HDR=YES;")
'Names اسم الصفحة او الجدول
Set rs = db.OpenRecordset("Names")
'
MSFlexGrid1.RowHeight(0) = 400
'
MSFlexGrid1.Rows = 1
MSFlexGrid1.ColAlignment(0) = 4
MSFlexGrid1.ColAlignment(1) = 4
MSFlexGrid1.ColAlignment(2) = 1
MSFlexGrid1.ColAlignment(3) = 1
MSFlexGrid1.ColAlignment(4) = 1
'
MSFlexGrid1.TextMatrix(0, 0) = "ID"
MSFlexGrid1.TextMatrix(0, 1) = "LastName"
MSFlexGrid1.TextMatrix(0, 2) = "FirstName"
MSFlexGrid1.TextMatrix(0, 3) = "BirthDate"
MSFlexGrid1.TextMatrix(0, 4) = "Country"
'
ColNo0 = GetSetting(App.Title, "ColWidth", "MSFlexColNo0", 500)
ColNo1 = GetSetting(App.Title, "ColWidth", "MSFlexColNo1", 1500)
ColNo2 = GetSetting(App.Title, "ColWidth", "MSFlexColNo2", 1500)
ColNo3 = GetSetting(App.Title, "ColWidth", "MSFlexColNo3", 1500)
ColNo4 = GetSetting(App.Title, "ColWidth", "MSFlexColNo4", 1500)
'
MSFlexGrid1.ColWidth(0) = 500
MSFlexGrid1.ColWidth(1) = 1500
MSFlexGrid1.ColWidth(2) = 1500
MSFlexGrid1.ColWidth(3) = 1500
MSFlexGrid1.ColWidth(4) = 1500
'
i = 0
'MSFlexGrid عرض محتويات الملف في
While Not rs.EOF
'
i = i + 1
'
MSFlexGrid1.Rows = i + 1
MSFlexGrid1.TextMatrix(i, 0) = rs("ID")
MSFlexGrid1.TextMatrix(i, 1) = rs("LastName")
MSFlexGrid1.TextMatrix(i, 2) = rs("FirstName")
MSFlexGrid1.TextMatrix(i, 3) = rs("BirthDate")
MSFlexGrid1.TextMatrix(i, 4) = rs("Country")
rs.MoveNext
Wend
'
End Subوهذا مثال مرفق لتوضيح أكثر
شكرا جزيلا أخي HnHn
ولكن عند تشغيل الملف المرفق تظهر لي رسالة الخطأ التالية ( صور رسالة الخطأ بالمرفقات)
هذه المشكلة تظهر بسبب مكتبة الفيجول لديك حيث أنك لم
تقومي بإضافة الاصدار الخاص بالأداة DAO ولكي تقومي بذلك
عليك بتباع الخطوات التالية ..
من قائمة Project
نختار References
ثم قومي بختيار أو تحديد هذه الجملة
Microsofit DAO 3.6 Object Library
وسيعمل البرنامج أن شالله
********************************
أخي الفاضل لم أجد هذه الأداة من ضمن الأدوات الموجودة في مكتبة الفيجوال لدي
كيف يمكنني الحصول عليها؟؟؟؟؟؟
الاداة مرفقة
والمسار الذي يجب وضعها فيه هو
Program Files\Common Files\Microsoft Shared\DAO
بعد اذن اخي HnHn ، اختي فقط قومي بادراج ادة الدتا Data الخاصة بقواعد البيانات ، والتي هي موجودة ضمن الادوات القياسية ، فقط ضعيها علي الفورم ثم قومي بحذفها .
تلقائيا سوف يتم تعريف مكتبة ADO ،، ولا داعي للبحث داخل الـReference
تحياتي لكم
الإنسان الذي يقول بأنه لا يمكن عمل شيء يجب ألا يعيق مطلقاً الإنسان الذي يقوم بعمل ذلك الشيء.
إن تخطئ فأنت إنسان ... أما أن تلوم جهازك الكمبيوتر على خطأك فهذا أكثر إنسانية.
هذا الموضوع مغلق.