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

كود لطباعه جميع ملفات PDF في مجلد خارجي بضغطه زر واحده


إذهب إلى أفضل إجابة Solved by Foksh,

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

  • أفضل إجابة

على افتراض أن اسم المجلد هو Pdf_File ، جرب هذا الكود:-

Sub PrintAllPDFsInFolder()
    Dim objFSO As Object
    Dim objFolder As Object
    Dim objFile As Object
    Dim strFolderPath As String
    
    strFolderPath = CurrentProject.Path & "\Pdf_File\"
    
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    
    Set objFolder = objFSO.GetFolder(strFolderPath)
    
    For Each objFile In objFolder.Files
        If Right(objFile.Name, 4) = ".pdf" Then
            ShellExecute 0, "Print", objFile.Path, 0, 0, SW_HIDE
        End If
    Next objFile
    
    Set objFSO = Nothing
    Set objFolder = Nothing
    Set objFile = Nothing
End Sub

 

في الزر الذي تريده ، في حدث عند النقر ، استدع الدالة بهذا الأمر :-

PrintAllPDFsInFolder

وأخبرنا بالنتيجة 😊

تم تعديل بواسطه Foksh
  • Like 1
رابط هذا التعليق
شارك

مشاركة مع اخي @Foksh

Sub PrintAllPDFsInFolder()
    Dim MyFolder As String
    Dim MyFile As String
    Dim MyApp As String

    ' تحديد المجلد الذي يحتوي على ملفات PDF
    MyFolder = "C:\your\path\here\"
    
    ' تحديد التطبيق الذي سيتم استخدامه لفتح ملفات PDF
    MyApp = "C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe"
    
    ' الحصول على اسم أول ملف PDF في المجلد
    MyFile = Dir(MyFolder & "*.pdf")

    ' حلقة عبر كل ملف PDF في المجلد
    Do While MyFile <> ""
        ' فتح الملف بواسطة Acrobat Reader وطباعته
        Shell """" & MyApp & """" & " /h /p " & """" & MyFolder & MyFile & """", vbHide
        
        ' الانتظار لمدة 5 ثوانٍ للسماح للملف بالطباعة
        Application.Wait (Now + TimeValue("0:00:05"))
        
        ' الحصول على اسم الملف التالي
        MyFile = Dir
    Loop
End Sub

ملاحظة لم اجرب الكود ....

يرجى ملاحظة أن هذا الكود يفتح كل ملف PDF بواسطة Adobe Acrobat Reader ويطبعه. يجب أن يكون لديك Adobe Acrobat Reader مثبتًا على جهاز الكمبيوتر الخاص بك ويجب أن تعرف المسار الذي تم تثبيته فيه. يمكنك تعديل المسار في الكود أعلاه ليتوافق مع المسار الذي تم تثبيت Acrobat Reader فيه على جهازك. إذا كنت تستخدم برنامجًا آخر لقراءة ملفات PDF، فسيتعين عليك تحديث الكود لاستخدام هذا البرنامج.

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

15 دقائق مضت, hosslom said:

شكرا جزيلا اخي الكريم

الكود يعطي خطا في كلمه SW_HIDE

2024-03-11_002737.jpg

تم التعديل. جرب هكذا

Sub PrintAllPDFsInFolder()
    Dim objFSO As Object
    Dim objFolder As Object
    Dim objFile As Object
    Dim strFolderPath As String
    
    strFolderPath = CurrentProject.Path & "\Pdf_File\"
    
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    
    Set objFolder = objFSO.GetFolder(strFolderPath)
    
    For Each objFile In objFolder.Files
        If Right(objFile.Name, 4) = ".pdf" Then
            ShellExecute 0, "Print", objFile.Path, vbNullString, vbNullString, 0
        End If
    Next objFile
    
    Set objFSO = Nothing
    Set objFolder = Nothing
    Set objFile = Nothing
End Sub

 

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

34 دقائق مضت, hosslom said:

شكرا جزيلا اخي الكريم علي اهتمامك

الكود شغال تمام

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

 

اذاً لا داعي للتعديل الأخير

فضلاً.. لا تنسَ إغلاق الموضوع باختيار أفضل إجابة 😀

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

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