scince بتاريخ: 11 يناير 2015 تقديم بلاغ مشاركة بتاريخ: 11 يناير 2015 السلام عليكم ورحمة الله وبركاته اللهم تقبل اعمالنا لوجهك الكريم المثال عبارة عن شاشة ترسل البيانات وتفتح ملف Ms Word 2007 موجود من سابق ومنسق جاهز وتضع البيانات في مواضع محددة مسبقا اي حيث تريد ويعتبر المثال بصراحة نقلة نوعية في التعامل مع office 2007 وبالذات بجانب الماكرو والتي تكتبه بلغة vba تدعمها Office 2007 اي بمعنى ادق تخاطب مباشر بين form 6i و vba من خلال استدعاء دوال موجودة في ملف Ms Word 2007 كتبة بلغة Vba حيث ان وظائف الدوال ارسال بينات مربعات نص أو جملة select تنفذ في vba والتي تتصل من خلال احدى الدوال ب أوراكل وتنفيذ جمل الكويري الملف المرفق عبارة عن مجلد مضغوط اسمه OPENWORD وفيه ملفان ملف ورد وملف شاشة ديفلوبر افتح الضغط وضع المجلد في :C مباشرة ملاحظات هامة جدا: لمن يعمل على windows 7 64 bit لتحيقي الاتصال با أوراكل من Office 2007 لازم إتباع الخطوات التي بالرابط في مشاركة سابقة هل تعاني من مشكلة الاقواس في المسار C:\program Files (x86) http://www.araboug.org/ib/index.php?showtopic=57597 يجب تفعيل الماكرو في Ms Word 2007 هذه صورة الشاشة : وهذه صورة الملف الورد قبل ادخال البيانات: وهذه صورة الملف بعد ارسال البيانات: OPENWORD.rar 2 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
scince بتاريخ: 11 يناير 2015 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 11 يناير 2015 طبعا الاسماء في المثال لاعلام العلم والمعرفة من المشرفين ولم يسعني ذكرهم كلهم فقط 5 منهم فيعذروني الذين طرحت اسمائهم ويعذروني من لم اطرح اسمائهم فكلكم رائعين و أفكاركم منهال علم ومعرفة لهذا المنتدى أخوكم... اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
ميسم الكرام بتاريخ: 11 يناير 2015 تقديم بلاغ مشاركة بتاريخ: 11 يناير 2015 ما شاء الله ..عمل ممتاز ..جزاك الله خيراً اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
scince بتاريخ: 11 يناير 2015 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 11 يناير 2015 شيئ أخر بالتسبة لادراج صورة كشعار في الملف مع اعطاء المحاذات لها في الاجراء أعطيته مسار موجود عندي فيجب عليكم وضع الشعار اللي تريدوه ووضع مساره كذلك اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
scince بتاريخ: 11 يناير 2015 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 11 يناير 2015 واياك أختي المشرفة الفاضلة ميسم الكرام صاحبة النشاط المتواصل الدؤوب وشكرا لمرورك الكريم اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Amgad بتاريخ: 11 يناير 2015 تقديم بلاغ مشاركة بتاريخ: 11 يناير 2015 السلام عليكم ورحمة الله الأخ الفاضل / ميهال بداية : أشكرك على هذا الجهد وهذا العمل المتميز الذي يضاف الى قائمة أعمالك الرائعة التي يحتويها المنتدى افكار جديدة ..... جاري تحميل المرفقات جزاك الله خيرا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
scince بتاريخ: 11 يناير 2015 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 11 يناير 2015 شكرأ لك أخي الفاضل امجد حلمي على كلامك الطيب وشكرا لمرورك الكريم اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
سلطاني بتاريخ: 12 يناير 2015 تقديم بلاغ مشاركة بتاريخ: 12 يناير 2015 السلام عليكم و رحمة الله تعالى و بركاته ما شاء الله عمل رائع بارك الله فيك اخي و جزاك خيرا إن شاء الله اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
scince بتاريخ: 12 يناير 2015 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 12 يناير 2015 وعليكم السلام ورحمة الله وبركاته واياك أخي سلطان وشكرا لمرورك الكريم اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
anas.soft بتاريخ: 12 يناير 2015 تقديم بلاغ مشاركة بتاريخ: 12 يناير 2015 اخي الفاضل ميهال لا يسعني الا ان اقول لك بارك الله فيك وبارك الله لك وبارك الله عليك انت فعلا رئــــــــــــــع ... اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Ahmad.Hasan بتاريخ: 12 يناير 2015 تقديم بلاغ مشاركة بتاريخ: 12 يناير 2015 مجهود رائع تشكر عليه أخي ميهال... اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
scince بتاريخ: 12 يناير 2015 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 12 يناير 2015 شكرا لك أخي العزيز أنس وانت أكثر من رائع وشكرا لمرورك الكريم اشكرك أخي أحمد , و لا شكر على واجب وانت سباق للبذل والعطاء... ( ) أخوك... اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
scince بتاريخ: 13 يناير 2015 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 13 يناير 2015 السلام عليكم ورحمة الله وبركاته هناك توضيح بالنسبة للملف Ms Word والذي اسمه OPENWORD.dotm هو عبارة عن ملف من نوع template مفعل فيه ال macro لو تلا حظوا في امتداده ,ينتهي ال template ب dot ولانه من نوع فيه ماكرو مفعل انتهى زي ما انتم شايفين ب dotm ولفتح هذا النوع لتعديل الكود اللي فيه لا تفتحه بطريقة النقر المزدوج لانه سياخذ نسخة منه وسيفتح ملف جديد فطريقة فتحه لتعديل محتواه او كود ال vba اعمل الطريقة هذه افتح برنامج ال Ms Woerd ومن ثم افتح الملف من داخله وبعدها عدل زي ماتريد طبعا الكود الذي ستعدل فيه اسم قاعدة البيانات واسم الكمبيوتر او حتى اسم المستخدم وكلمة السر حسب ما هو موجود عندك في جهازك الدالة التي تمرر جمل الكويري Public Sub ora(ByVal sqlw As String, ByVal sqlw1 As String, ByVal sqlw2 As String, ByVal sqlw3 As String, ByVal sqlw4 As String, ByVal sqlw5 As String) ActiveDocument.SelectContentControlsByTitle("namecon1").Item(1).Range.Text = MEEHORAQ("PRGRAMER-ME", "ORACLE", sqlw, "SCOTT", "TIGER") ActiveDocument.SelectContentControlsByTitle("namecon2").Item(1).Range.Text = MEEHORAQ("PRGRAMER-ME", "ORACLE", sqlw1, "SCOTT", "TIGER") ActiveDocument.SelectContentControlsByTitle("namecon3").Item(1).Range.Text = MEEHORAQ("PRGRAMER-ME", "ORACLE", sqlw2, "SCOTT", "TIGER") ActiveDocument.SelectContentControlsByTitle("namecon4").Item(1).Range.Text = MEEHORAQ("PRGRAMER-ME", "ORACLE", sqlw3, "SCOTT", "TIGER") ActiveDocument.SelectContentControlsByTitle("namewith1").Item(1).Range.Text = MEEHORAQ("PRGRAMER-ME", "ORACLE", sqlw4, "SCOTT", "TIGER") ActiveDocument.SelectContentControlsByTitle("namewith2").Item(1).Range.Text = MEEHORAQ("PRGRAMER-ME", "ORACLE", sqlw5, "SCOTT", "TIGER") End Sub الاسم PRGRAMER-ME يمثل اسم الكمبيوتر المنزل فيه قاعدة البيانات الاسم ORACLE يمثل اسم قاعدة البيانات والاسم SCOTT معروف طبعا اسم المستخدم الاسم TIGER كلمة السر وللتوضيح الاسماء namecon1 و namecon2 و namecon3 و namecon4 و namewith1 و namewith2 وهي الكائنات النصية في صفحة ملف الورد التي تأتيها القيم النصية من جمل الكويري المرر طبعا الكود أعلاه بلغة VBA فيجوال بسيك ابليكيشن اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
scince بتاريخ: 13 يناير 2015 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 13 يناير 2015 وهذه الدال الثانية التي تمرر القيم مباشرة الاتية من شاشة الديفلوبر الى ملف الورد Ms Word الى نفس الكائنات النصية المذكورة سابقا Public Sub ora3(ByVal sqlw As String, ByVal sqlw1 As String, ByVal sqlw2 As String, ByVal sqlw3 As String, ByVal sqlw4 As String, ByVal sqlw5 As String) ActiveDocument.SelectContentControlsByTitle("namecon1").Item(1).Range.Text = sqlw ActiveDocument.SelectContentControlsByTitle("namecon2").Item(1).Range.Text = sqlw1 ActiveDocument.SelectContentControlsByTitle("namecon3").Item(1).Range.Text = sqlw2 ActiveDocument.SelectContentControlsByTitle("namecon4").Item(1).Range.Text = sqlw3 ActiveDocument.SelectContentControlsByTitle("namewith1").Item(1).Range.Text = sqlw4 ActiveDocument.SelectContentControlsByTitle("namewith2").Item(1).Range.Text = sqlw5 End Sub اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
scince بتاريخ: 13 يناير 2015 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 13 يناير 2015 و الدالة MEEHORAQ التي تقوم بالاتصال بقاعدة بينات أوراكل في ملف ال Ms Word والتي تستدعيها الدالة التي تمرر جمل الكويري ora ودالة الاتصال MEEHORAQ لن تحتاجها في حالة انك استدعيت الدالة ora3 التي تمرر قيم نصية مباشرة دون الحاجة للاتصال بقاعدة بيانات الكود ادناه لدال الاتصال MEEHORAQ الت تقوم بانشاء كائن اتصال ADODB برمجيا .. اتركم مع الدالة Function MEEHORAQ(strHost As String, strDatabase As String, strSQL As String, strUser As String, strPassword As String) Dim strConOracle, oConOracle, oRsOracle Dim StrResult As String StrResult = "" strConOracle = "Driver={Microsoft ODBC for Oracle}; " & _ "CONNECTSTRING=(DESCRIPTION=" & _ "(ADDRESS=(PROTOCOL=TCP)" & _ "(HOST=" & strHost & ")(PORT=1521))" & _ "(CONNECT_DATA=(SERVICE_NAME=" & strDatabase & "))); uid=" & strUser & " ;pwd=" & strPassword & ";" Set oConOracle = CreateObject("ADODB.Connection") Set oRsOracle = CreateObject("ADODB.Recordset") oConOracle.Open strConOracle Set oRsOracle = oConOracle.Execute(strSQL) Do While Not oRsOracle.EOF If StrResult <> "" Then StrResult = StrResult & Chr(10) & oRsOracle.Fields(0).Value Else StrResult = oRsOracle.Fields(0).Value End If oRsOracle.MoveNext Loop oConOracle.Close Set oRsOracle = Nothing Set oConOracle = Nothing ORAQUERY = StrResult End Function بكذا نكون اكملنا شرح مكوانات ملف ال OPENWORD.dotm البرمجية 2 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
scince بتاريخ: 13 يناير 2015 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 13 يناير 2015 الكائن المستخدم لإظهار البيانات القادمة من شاشة الديفلوبر سوى أكان مباشرة أو بجملة كويري هو عنصر تحكم اسمه نص منسق كما في الصورة التالية طبعا بامكانكم استخدام مربع النص لكن في شوية شغلة بالتنسيق فعشان تجعله يمشي مع سطر الفقرة تجعله امام النص بحيث تضبط ارتفاع مربع النص مع السطر لكن عنصر التحكم نص منسق هذا يمشي مع السطر با أريحية وكأنه من السطر اللي يظهر زي ما تشوفوه وهو فارغ انقر هنا لادخال النص اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
scince بتاريخ: 13 يناير 2015 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 13 يناير 2015 نأتي الان لاجزاء اكواد شاشة الديفلوبر بالذات لجزء من الاجراء الذي يتم فيه تمرير جملة ال select كما ترون الكود ينفذ بعد عمل شيك لمربع الاختيار الخاص بتمرير بجملة select IF :CHK3 =1 THEN MEEH_Args := Ole2.Create_Arglist; Ole2.Add_Arg(MEEH_Args,:S1 ); Ole2.Add_Arg(MEEH_Args,:S2 ); Ole2.Add_Arg(MEEH_Args,:S3 ); Ole2.Add_Arg(MEEH_Args,:S4 ); Ole2.Add_Arg(MEEH_Args,:S5 ); Ole2.Add_Arg(MEEH_Args,:S6 ); Ole2.Invoke(MEEH_Document, 'ORA', MEEH_Args); END IF ; وهذا جزاء الكود الخاص بتمرير البينات مباشرة من مربعات النصوص طبعا من شاشة ديفلوبر IF :CHK2 = 1 THEN MEEH_Args := Ole2.Create_Arglist; Ole2.Add_Arg(MEEH_Args,:t2 ); Ole2.Add_Arg(MEEH_Args,:t3 ); Ole2.Add_Arg(MEEH_Args,:t4 ); Ole2.Add_Arg(MEEH_Args,:t5 ); Ole2.Add_Arg(MEEH_Args,:t6 ); Ole2.Add_Arg(MEEH_Args,:t7 ); Ole2.Invoke(MEEH_Document, 'ORA3', MEEH_Args); END IF; الاخوة المطلعون اذا كان هناك ملاحظات او اسئلة حول المثال نناقشها ونحلها مع بعض أخوكم... اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
ENG_HOSSAM_WALLY بتاريخ: 17 يناير 2015 تقديم بلاغ مشاركة بتاريخ: 17 يناير 2015 جزاكم الله خيرا يامهندس ميهال .. عمل أكثر من رائع ومفيد جدا جدا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
scince بتاريخ: 17 يناير 2015 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 17 يناير 2015 هلا بالغالي والعزيز ENG_HOSSAM_WALLY واياك اخي المهندس المبدع حسام اشقتنا لمشاركاتك الرائعة في المنتدى أخي حسام اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
aloooshvb بتاريخ: 24 نوفمبر 2015 تقديم بلاغ مشاركة بتاريخ: 24 نوفمبر 2015 السلام عليكم هل يعمل البرنامج المرفق على 11جي وشكرا مقدما اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
scince بتاريخ: 5 ديسمبر 2015 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 5 ديسمبر 2015 الشاشة تعمل على ديفلوبر 6i ولا يعمل على 11 ولم اجرب تحويلها لاصدار 11 واذا حد اخر يمكن يطور المثال سنتستفيد منه تحياتي لك aloooshvb اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
jedghaleb بتاريخ: 30 ديسمبر 2015 تقديم بلاغ مشاركة بتاريخ: 30 ديسمبر 2015 جزاك الله خير ونفع بك اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
scince بتاريخ: 6 يناير 2016 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 6 يناير 2016 واياك اخي الكريم وشكرا لمرورك الكريم اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
m_md بتاريخ: 24 أبريل 2016 تقديم بلاغ مشاركة بتاريخ: 24 أبريل 2016 مشكور اخي الكريم لكن ماذا عن اوراكل فورم 10 جي نفس الطريق ام ماذا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
scince بتاريخ: 30 أبريل 2016 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 30 أبريل 2016 بصراحة ما جربت على10g اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.