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

كود للطباعة على شكل Pdf


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

إخواني الكرام

لقد تعبت من كثرة البحث على كود يمكنني من الطباعة مباشرة على شكل Pdf

وبعد التفكير وجد انه لدي ماكرو يفعل ذلك ولكن في اكسيل وليس أكسيس

إليكم هذا الماكرو


Sub RDB_PrintArea_Range_To_PDF()


On Error Resume Next

	 Dim FileName As String

Dim rng As Range

On Error Resume Next

	 Set rng = Range(AliElbasry2.PageSetup.PrintArea)

If Not rng Is Nothing Then

	 Debug.Print rng.Address(external:=True)

rng.Select

FileName = RDB_Create_PDF(AliElbasry2, "", True, True)

	 If FileName = "" Then

	 Else

	 Sheets("Data").Select

		 Range("D3:L3").Select

		 Exit Sub


	 End If

		 End If

	 Sheets("Data").Select

		 Range("D3:L3").Select

End Sub


وعلى من يستطيع تحويله ليعمل مع الأكسيس يفعل ذلك

خدمة للجميع

وله الثواب والخير من الله عز وجل

تم تعديل بواسطه علي المصري
رابط هذا التعليق
شارك

اخ محمد ايمن

الموضوع المشار إليه هو موضوعي

والمشاركة الخاصة بك رقم 14 أعرفها جيدا

وانا عندي Nitro pdf Pro

ولكن الكود السابق في الاكسيل لا يحتاج اي برامج

فأود أن نحول هذا الكود من اكسيل إلى كود أكسيس

ليستفيد به الجميع

ولنجعلهة مشرعنا في رمضان

كل عام وانتم بخير بمناسبة الشهر الكريم

تم تعديل بواسطه علي المصري
رابط هذا التعليق
شارك

الكود السابق في اكسيل يكتب مع زر الأمر أو زر يعمل مع الماكرو

ولكن هناك كود أساسي يوضع في موديول خاص به

وهو كالتالي


Option Explicit

Function RDB_Create_PDF(Myvar As Object, FixedFilePathName As String, _

					    OverwriteIfFileExist As Boolean, OpenPDFAfterPublish As Boolean) As String

    Dim FileFormatstr As String

    Dim Fname As Variant

    If Dir(Environ("commonprogramfiles") & "\Microsoft Shared\OFFICE" _

		 & Format(Val(Application.Version), "00") & "\EXP_PDF.DLL") <> "" Then

	    If FixedFilePathName = "" Then

		    FileFormatstr = "PDF Files (*.pdf), *.pdf"

		    Fname = Application.GetSaveAsFilename("", filefilter:=FileFormatstr, _

												  Title:="Create PDF")

		    If Fname = False Then Exit Function

	    Else

		    Fname = FixedFilePathName

	    End If

	    If OverwriteIfFileExist = False Then

		    If Dir(Fname) <> "" Then Exit Function

	    End If

	    On Error Resume Next

	    Myvar.ExportAsFixedFormat _

			    Type:=xlTypePDF, _

			    FileName:=Fname, _

			    Quality:=xlQualityStandard, _

			    IncludeDocProperties:=True, _

			    IgnorePrintAreas:=False, _

			    OpenAfterPublish:=OpenPDFAfterPublish

	    On Error GoTo 0

	    If Dir(Fname) <> "" Then RDB_Create_PDF = Fname

    End If

End Function

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

الا ترى ان استخدام برنامج مختص في هذه الأمور افضل من استخدام كود طويل عرض؟؟؟؟

ثانيا برنامج ادوبي يتيح لك طابعة حقيقية ليس للاوفيس فقط بل لجميع البرامج

اخ محمد ايمن

الموضوع المشار إليه هو موضوعي

والمشاركة الخاصة بك رقم 14 أعرفها جيدا

وانا عندي Nitro pdf Pro

ولكن الكود السابق في الاكسيل لا يحتاج اي برامج

هل جربت ازالة برنامج Nitro pdf Pro وتجربة الكود ؟؟؟

اعتقد انه لن يعمل

ثالثا القرار لك

post-37077-0-42621200-1342708924_thumb.p

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

شكرا استاذنا : محمد ايمن

انا معاك في الكلام اللي قلته

ولكن لو طرحنا هذا الكود للسؤال يعتبر عملية تفكير ويا ريت نتحصل عليه

لان الكود يعمل بدون البرامج المذكورة وانا جربته في الاكسل

بل بالعكس عند استخدام الكود يعطى نتيجة في حفظ pdf ذات جودة عالية من البرنامج

وعلى فكرة اوفيس 2010 من ميزاته ممكن يحفظ الملف على شكل pdf سواء الورد أو الاكسيل

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information