الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

أرجو أن تصححوا لي كود فتح ملف بي دي اف جاهز في الجهاز بزر داخل البرنامج ---فيجوال بيسك 6.0

مغلق
بدأه miss-java في 16 فبراير 2007 · 9 رد · 2,284 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ..

نعم انا هي المزعجة من جديد ..

والمزعج بالامر انه نفس البرنامج .. :D ..

واجهتني مشكلة يا اساتذتي بخصوص فتح ملف البي دي اف خارج البرنامج بواسطة زر ..

الكود الذي كتبته ستجدونه بداخل البرنامج

والزر الذي اتحدث عنه هو زر عرض قوانين البرنامج ...عندما يقوم المستخدم بإدخال كلمة السر ..هناك ستجدون الزر المطلوب لفتح ملف البي دي إف ..طبعا بي دي إف مرفق ايضا مع البرنامج..

البرنامج في المرفقات ..

أنتظر تصحيحكم لكود البي دي إف بأسرع وقت وجزاكم الله خير

طالبتكم المجيدة

مس جافا

My_program.zip

#2

الأخت الفاضلة ...

أستخدمى API الدالة ShellExecute بدلاً من Shell فى (LoginForm) وذلك بأضافة التعريف التالى أعلى الفورم:

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

وبالتالى أستبدلى السطر

Shell (App.Path & "\progarm_files_images\" & "Software-Licens.pdf ")

بالسطر

ShellExecute Me.hwnd, "open", (App.Path & "\progarm_files_images\" & "Software-Licens.pdf "), "", "", 1

وبخصوص فتح ملف الورد ... أستخدمى

Set wdApp = CreateObject("Word.Application")

بدلاً من

Set wdApp = New Word.Application

وبعد الإنتهاء من التعامل مع المكون يجب تحريره بأستخدام

Set wdApp = Nothing

شكراً

My_program_up1.zip

Eng. Usama El-Mokadem

Nothing is impossible, the word impossible itself says that: I M - Possible

#3

الأستاذ االمهندس أسامة المقدم ..الله يجزاك خير ويرفع قدرك إن شاءالله ..بالنسبة للملف المرفق الظاهر انه معطوب من قبل خاصية الرفع عند الإدارة ..ولكني إستبدلت الأكواد مثل ما كتبت وإشتغل ملف البي دي إف ..أما ملف الوورد فإنه تظهر لي مسج تقول ان User is not defined

وهذا هو الكود بعد التعديل ..

Private Sub Command2_Click()
Dim wdApp As Word.Application
Dim wDoc As Word.Document
Dim strDocName As String

   strDocName = "E:\Programming\My program\progarm_files_images\user_guide.doc"

  Set wdApp = CreateObject("Word.Application")
   Set wDoc = wdApp.Documents.Open(strDocName)
   wdApp.Visible = True
   Set wdApp = Nothing
End Sub

واسمحلي يا استاذي الفاضل ..انا لم افهم قصدك بإن أحرر الكائن في الكود الاخير الذي كتبته ..انا درست الفيجوال بالانجليزي ..فالكلمات العربية تكون بالنسبة لي غريبة في تطبيق الأكواد ..

أنتظر ان ترفع لي البرنامج مرة أخرى إذا إشتغل معك بشكل ممتاز ..أو ان تصحح لي الكود الذي كتبته هنا من بعد التعديلات التي إقترحتها علي ..

وجزاك لله الجنة وبارك في علمك وعملك ..

إبنتكم

مس جافا

تم تعديل هذه المشاركة بواسطة miss-java في 17 فبراير 2007 في 12:32

#4

الأخت الفاضلة ...التغير فقط فى الملف LoginForm.frm وهو الذى أرفقته (لذا استبدليه بالموجود عندك) تحرير الكائن :) أقصد بها (Free Object) أو الكود (Set wdApp = Nothing)

LoginForm.zip

Eng. Usama El-Mokadem

Nothing is impossible, the word impossible itself says that: I M - Possible

#5
Eng. Usama El-Mokadem كتب:
الأخت الفاضلة ...التغير فقط فى الملف LoginForm.frm وهو الذى أرفقته (لذا استبدليه بالموجود عندك) تحرير الكائن :) أقصد بها (Free Object) أو الكود (Set wdApp = Nothing)

أستاذي الفاضل أسامة..كتبت الكود مثل ما كتبته انت ..ولكن للأسف لم يظهر ملف الوورد .. ؟؟ ما الحل ):

أنتظر تفاعلك وبارك الله فيك .. الملف الذي ارفقته لم يعمل فيه الكود ايضا مع اني وضعت الكود نفسه في ملفي ..

تم تعديل هذه المشاركة بواسطة miss-java في 17 فبراير 2007 في 16:53

#6

احم احم ..نحن هنا ..

#7

يبدو أنه لا يوجد ربط مع مكتبة الـ WORD ..والذي يؤدي لظهور خطأ User is not defined

من قائمة Project نختار References ثم علي ما أتذكر نختار Microsoft Word ثم OK ..

#8

الأخت الفاضلة ...

اقتباس
التغير فقط فى الملف LoginForm.frm وهو الذى أرفقته (لذا استبدليه بالموجود عندك)

أرجو أستبدال الملف لأن هناك تعديلات أخرى طفيفة، فمثلاً أنت تشيرى إلى ملف (Doc.) بينما الموجود ملف (rtf.)، لذا أرجوا الاحتفاظ بنسخة من برنامجك الأصلى أولاً، ثم أستبدلى الملف، وسيعمل إنشا الله، ومرفق الملف (exe.) يمكنك وضعه فى نفس الـ(Folder) وتجربتة

ملاحظات:

  1. بالطبع لابد من أن يكون برنامج (Microsoft Word) مثبت مسبقاً على الجهاز (Installed)
  2. بأستخدام CreateObject أنت فى غنى عن أضافة (Reference) لمكتبة (Word)
  3. يمكنك أستخدام نفس الطريقة المستخدمة مع ملفات (pdf.) بأستخدام (ShellExecute) مرفق الملف للتوضيح LoginForm2.zip
  4. وذلك بالشكل التالى
    ShellExecute Me.hwnd, "open", strDocName, "", "", 1

    وبالطبع أسهل ودون الحاجه لإنشاء مكون (Object) أو إضافة مرجع (Reference)، كذلك تسمح بقتح الملف بأى برنامج مناسب (Wordpad مثلاً) فى حالة لا يوجد (Microsoft Word) مثبت على الجهاز

شكراً

ProgramEXE.zip

تم تعديل هذه المشاركة بواسطة Eng. Usama El-Mokadem في 17 فبراير 2007 في 22:39

Eng. Usama El-Mokadem

Nothing is impossible, the word impossible itself says that: I M - Possible

#9

جزاكم الله خير .. وبارك الله في فيكم أشكركم

(سأغير ملف الوورد إلى بي دي إف) لاني لا املك الوقت الكافي لتعديل ملف الوورد ..لذا قد أرجع لها يوما ما ..ولكن حاليا ساعتمد على البي دي إف لان البروجكت يجب ان أسلمه بكره ان شاءالله للأستاذ ..

أشكركم مره اخرى ولا حرمكم الله الأجر الطيب ..

#10

ليه التغيير إلي ملف PDF

دالة ShellExecute كافية لفتح اي ملف ..

ويمكنك استخدام مكتبة Word إذا أردت التحكم في الملف أكثر من مجرد فتحه ..

أخي أسامة ..

أنا أعلم يقينا أنك تعلم الكلام الآتي ..لأنك عضو فعلا بتفهم .. ومن الأعضاء الذين وضعوا بصمة حديثة في القسم هنا ..ولكن لزم التوضيح للأعضاء فقط وليس لك والله ..لانك في غني عن هذا الكلام ..

وأتمني أن نراك كثيرا .. ولا تترك القسم كما فعل الكثير من الأعضاء الممتازين في هذه اللغة .. ولكنهم تركوه نظرا لمشاغلهم ..

-----------

لا يمكن استخدام CreateObject بمفردها ..في الكود السابق..بل يجب إضافة مرجع لمكتبة الوورد والذي أعتقد أنه موجود لديك ولكنك تجاهلته ..

لأنه توجد التعريفات التالية ..

Dim wdApp As Word.Application
Dim wDoc As Word.Document

والتي تتطلب مرجع .. وإلا ستعطي رسالة خطأ ..لوجود مكتبة غير معرفة مسبقا..

وإذا أردنا تلافي ذلك .. فمن الممكن عمل تغيير بسيط ..ولا يستلزم حينها إضافة أي مرجع لمكتبة الوورد

Dim wdApp As Object
Dim wDoc As Object

وتقبل تحياتي أخي العزيز علي المجهود الذي تقوم بعمله هنا ..وإن شاء الله في حركة الترقيات الجديدة نراك مشرف .. لإنك تستحقها بجدارة ..

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…