عبدالودود لطيف قام بنشر أغسطس 5, 2017 قام بنشر أغسطس 5, 2017 السلام عليكم عندي 525 ملف محفوظ في فولدر عندما اريد طباعة الملفات كلها مرة واحدة لا تتم العملية ( فقط كل 15 ملف يتم طباعتها مرة واحدة ) يوجد حل لهذا الموضوع
ياسر خليل أبو البراء قام بنشر أغسطس 5, 2017 قام بنشر أغسطس 5, 2017 وعليكم السلام أخي الكريم الموضوع غير مكتمل الأركان .. ارفق نماذج بسيطة من ملفاتك ووضح هل الملفات ملفات إكسيل فقط أم أن هناك ملفات أخرى وإذا كانت ملفات إكسيل هل يوجد أوراق عمل أخرى أم أنها ورقة واحدة فقط؟ وأين الكود الذي يطبع 15 ملف فقط ولا يطبع بقية الملفات؟ 1
عبدالودود لطيف قام بنشر أغسطس 5, 2017 الكاتب قام بنشر أغسطس 5, 2017 (معدل) السلام عليكم ملف يحتوي على مستمسكات على شكل صور وأخر يأتي على شكل اكسل بأسماء أصحاب المستمسكات حاولت أن ارفع اكبر عدد من المستمسكات ولكن تظهر رسالة غير مسموح مستمسكات.rar اكسل.rar تم تعديل أغسطس 5, 2017 بواسطه عبدالودود لطيف
ياسر خليل أبو البراء قام بنشر أغسطس 5, 2017 قام بنشر أغسطس 5, 2017 هل الملفات كلها في مجلد واحد أم مجلدات متعددة؟ لما لا تذكر التفاصيل وتضع الكود الذي تستخدمه عموماً جرب الكود التالي .. 'Written: July 05, 2017 'Author: Leith Ross #If Win64 = True Then Private Declare PtrSafe Function ShellExecute _ Lib "shell32.dll" Alias "ShellExecuteA" _ (ByVal hwnd As LongPtr, _ ByVal lpOperation As String, _ ByVal lpFile As String, _ ByVal lpParameters As String, _ ByVal lpDirectory As String, _ ByVal nShowCmd As Long) _ As LongPtr #Else 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 #End If Sub PrintAllFiles() Dim ActPrtr As String Dim answer As Integer Dim File As Variant Dim Folder As Variant Dim Item As Variant Dim Items As Object Dim PrtJobs As Object Dim PSEx() As String Dim ret As Long Dim WMI As Object ActPrtr = Split(Application.ActivePrinter, " on ")(0) 'Printer Status Extended ReDim PSEx(1 To 18) PSEx(1) = "Other - Not Listed" PSEx(2) = "Undetermined" PSEx(3) = "Printer is Idle" PSEx(4) = "Printer is Printing" PSEx(5) = "Printer is Warming Up" PSEx(6) = "Printer has Stopped Printing" PSEx(7) = "Printer is Offline" PSEx(8) = "Printer is Paused" PSEx(9) = "An Error occured" PSEx(10) = "Printer is Busy" PSEx(11) = "Printer is Not Available" PSEx(12) = "Printer is Waiting" PSEx(13) = "Printer is Processing" PSEx(14) = "Printer is Initializing" PSEx(15) = "Printer is in Power Save Mode" PSEx(16) = "Job is Pending Deletion" PSEx(17) = "I/O Active" PSEx(18) = "Manual Feed required" Set WMI = GetObject("winmgmts:\\.\root\CIMV2") Set Items = WMI.ExecQuery("SELECT * FROM Win32_Printer") With Application.FileDialog(msoFileDialogFolderPicker) .AllowMultiSelect = False .Show If .SelectedItems.Count > 0 Then Folder = .SelectedItems(1) Else Exit Sub End If End With File = Dir(Folder & "\*.*") PrintFiles: Do While File <> "" GoSub CheckPrinterStatus ret = ShellExecute(0&, "Print", File, vbNullString, Folder, 1&) If ret < 32 Then MsgBox "Print Command Failed." & vbLf & vbLf & "Error: " & ret Exit Sub End If File = Dir() Loop Exit Sub CheckPrinterStatus: For Each Item In Items If Item.Name = ActPrtr Then If Item.Status <> "OK" Then answer = MsgBox(ActPrtr & " Is Not Ready To Print." & vbLf & vbLf _ & "Status: " & Item.Status & vbLf & "Cause: " & PSEx(Item.ExtendedPrinterStatus) _ & vbLf & vbLf & "Wait For Printer?", vbExclamation + vbYesNo + vbDefaultButton2) If answer = vbNo Then answer = MsgBox("Do You Want Clear All Remaining Print Jobs?", vbQuestion + vbYesNo) If answer = vbYes Then GoTo ClearPrintJobs Else Exit Sub End If End If End If Next Item Return ClearPrintJobs: Set WMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2") Set PrtJobs = WMI.ExecQuery("select * from Win32_Printer where PrinterState=0 and PrinterStatus=6") For Each Item In PrtJobs Item.CancelAllJobs Next Item End Sub 1
عبدالودود لطيف قام بنشر أغسطس 5, 2017 الكاتب قام بنشر أغسطس 5, 2017 (معدل) هي ملفات في فولدر على البارتيشن (D) عندما افتح الفولدر تظهر كل الملفات المحفوظة عندما احدد كل الفايلات عن طريق كونترول A واعمل كلك ايمن لا تظهر كلمة طباعة ولكن عندما احدد أقل من (15) ملف واعمل كلك أيمن تظهر كلمة طباعة اريد من أحدد كل الفايلات تظهر كلمة طباعة اسف تعتبك وياي وخاصة ان الكود الضخم اكيد متعوب عليه ويأخذ وقت لانجازه - جزيت خيرا والكود اذا كان يفي بالغرض أين اضع الكود تم تعديل أغسطس 5, 2017 بواسطه عبدالودود لطيف
ياسر خليل أبو البراء قام بنشر أغسطس 5, 2017 قام بنشر أغسطس 5, 2017 يوضع الكود في مويول عادي لمعرفة المزيد حول الأساسيات المطلوبة للتعامل مع الأكواد لابد من مشاهدة الفيديو التالي 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.