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

كود الطباعة والبي دي أف على ملف تقييم الموظفين المتغير


alliiia
إذهب إلى أفضل إجابة Solved by أ / محمد صالح,

الردود الموصى بها

السلام عليكم ورحمة الله وبركاته

ترددت كثيرا في طرح المشكلة، حاولت جاهدًا لأيام ولساعات بحثت عن أكواد طباعة وتصدير بي دي أف في المنتدى وفي اليوتيوب وبالانجليزي! وجربتها كلها وحاولت فهم طريقة عملها، لكن الله المستعان خبرتي في كتابة الأكواد قليلة وضعيفة ولم أحقق المطلوب، ولو تدلوني على حساب في اليوتيوب أو كتاب مفيد أقوي نفسي في هذا العلم أكون لكم شاكرا وداعيًا. 

المطلوب في الملف:

1- عمل كود طباعة وتصدير بي دي أف لكل موظف على حسب كود الموظف الموجود في الملف. (تصدير تلقائي -بضغطة زر يتم التصدير-)

2- يحفظ ملف البي دي أف مستقل يعني لكل موظف ملف بي دي أف.

3- كود الطباعة يطبع بزر واحد جميع الموظفين مره واحدة.

4- في محرر الأكواد لو في مجال يتم شرح طريقة عمل الكود حتى أستفيد ويستفيد الجميع من الموضوع.

وجزاكم الله خيرا. 

تقييم الموظف 2021 - Copy.xlsx

رابط هذا التعليق
شارك

  • أفضل إجابة

الأمر بسيط جدا

يمكنك استعمال هذا الكود

Sub export2pdf()
For r = 3 To Sheet1.Cells(Rows.Count, 1).End(3).Row
Sheet2.Range("b4") = Sheet1.Range("a" & r)
Sheet2.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "\" & Sheet2.Range("b4") & ".pdf"
Next r
MsgBox "Done by mr-mas.com"
End Sub

بالتوفيق

  • Like 3
رابط هذا التعليق
شارك

سبحان الله تعالى ما توقعته بهذه البساطة! .. رفع الله قدرك أستاذنا ويسر أمورك كما يسرت علينا. ... وبالنسبة لكود الطباعة: 

Sub Print_All()
Dim saveLocation As String
For I = 1 To Application.CountA([Rng])
  [B4] = Application.Index([Rng], I)
  ActiveWindow.SelectedSheets.PrintOut Copies:=1
Next
  [B4] = Application.Index([Rng], 1)
  [B4].Select
End Sub

أحتاج أعدله على ملفي لو تكرمت. 

 

  • Like 1
رابط هذا التعليق
شارك

جميعا بإذن الله

نفس الكود السابق لي

مع تغيير سطر export إلى سطر printout من الإجراء الثاني 

وإذا كنت تريد تنفيذ الأمرين بضغطة واحدة أضف سطر printout قبل أو بعد سطر export 

بالتوفيق 

 

  • Like 1
رابط هذا التعليق
شارك

ممتاز أستاذنا اشتغل الكود بنجاح؛ نفع الله بك. ...سؤال أخير لو تكرمت

لو مثلا زدت عدد الموظفين إلى أكثر من العدد المكتوب إلى 100 أو مثلا نقصتهم إلى 5...من أين أستطيع التحكم في هذا الأمر في الكود؟ 

 

  • Like 1
رابط هذا التعليق
شارك

جميعا بفضل ربي 

يبدو أن حضرتك لم تلاحظ هذا السطر

For r = 3 To Sheet1.Cells(Rows.Count, 1).End(3).Row

الكود يقرأمن الصف 3 إلى آخر صف مكتوب فيه في العمود A في شيت بيانات الموظفين sheet1

يعني سيتم التنفيذ على أي عدد صفوف مكتوب في شيت بيانات الموظفين

بالتوفيق 

  • Like 1
رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information