PDA

View Full Version : ارسال پرینت به پرینتر مشخص



sohrab o
جمعه 24 اردیبهشت 1389, 00:11 صبح
می خوام به یک پرینتر خاص (شاید غیر از پرینتر default) پرینت بفرستم؟می شه بگید چطوری؟با data report چطوری؟

M.T.P
شنبه 25 اردیبهشت 1389, 10:39 صبح
می خوام به یک پرینتر خاص (شاید غیر از پرینتر default) پرینت بفرستم؟می شه بگید چطوری؟با data report چطوری؟

سلام
نحوه تغییر پرینتر پیش فرض:




Dim P As Printer
For Each P in Printers
If P.DeviceName = "Your Printer Name" Then
Set Printer = P
End if
Next

AMP PAVEH
شنبه 25 اردیبهشت 1389, 11:04 صبح
دوست عزیز سلام از این روش می تونی


Private Sub Command1_Click()
CommonDialog1.ShowPrinter
End Sub

sohrab o
شنبه 25 اردیبهشت 1389, 12:25 عصر
سلام
نحوه تغییر پرینتر پیش فرض:




Dim P As Printer
For Each P in Printers
If P.DiviceName = "Your Printer Name" Then
Set Printer = P
End if
Next


این که نمی شه؟

sohrab o
شنبه 25 اردیبهشت 1389, 12:26 عصر
دوست عزیز سلام از این روش می تونی


Private Sub Command1_Click()
CommonDialog1.ShowPrinter
End Sub

دوست عزیز می خوام یک گزارشی رو با datareport به یک پرینتری ارسال کنم که set default نشده و کاربر هم چیزی نبینه.یعنی توسط کد پرینتر انتخاب بشه

M.T.P
شنبه 25 اردیبهشت 1389, 15:37 عصر
ببین دوست من Printers تموم پرینترهای متصل به رایانه شما رو تو خودش داره و با حلقه زیر میتونی از تک تک اونها مطلع شی ، در کد زیر تمام پرینترها در یک ComboBox اضافه میشه:




Dim P As Printer
For Each P in Printers
CmbPrinters.AddItem P.DeviceName
Next



خب شما هر پرینتری رو که دوست دارین میتونین به شیء Printer در واقع Set کنین تا Printer مربوطه عملیات چاپ رو انجام بده ، در کدی که در پست دوم نوشتم فرض رو بر این گرفتیم که شما قصد دارید یک پرینتر خاص که اسمش مدنظرتون هست رو به شیء Printer نسبت بدید. ("Your Printer Name")
خب چنانچه اسم اون پرینتر متغیره باید از لیست اسم پرینتر رو انتخاب و به شیء Printer نسبت بدید. در این صورت پرینتر انتخاب شده عملیات چاپ رو انجام خواهد داد.
به این صورت:




Dim P As Printer
For Each P In Printers
If P.DeviceName = CmbPrinters.Text Then
Set Printer = P
Exit For
End If
Next



برای کنترل خطای برنامه در صورت عدم وجود Printer میتونید خط زیر رو به اولین خط از کدهای بالا اضافه کنید:




If Printers.Count = 0 Then Exit Sub

sohrab o
یک شنبه 26 اردیبهشت 1389, 10:13 صبح
مرسی دوست گرامی
اما این کد که پرینتر رو set default نمی کنه.

M.T.P
یک شنبه 26 اردیبهشت 1389, 11:15 صبح
مرسی دوست گرامی
اما این کد که پرینتر رو set default نمی کنه.

قرار نیست Set Defaulf کنه ، شی Printer بطور پیش فرض به پرینتر Default ویندوز پیغام میفرسته و چاپ رو انجام میده ، در کدهای بالا ما شیء Printer رو به دستگاه پرینتر دلخواه ربط میدیم نه اینکه پرینتر مرتبط با اون رو Default کنیم.:قلب:

sohrab o
یک شنبه 26 اردیبهشت 1389, 18:41 عصر
این چرا با datareport جواب نمی ده؟

M.T.P
یک شنبه 26 اردیبهشت 1389, 20:00 عصر
این چرا با datareport جواب نمی ده؟

شما چطور از این کد استفاده میکنید؟
کد چاپ رو اینجا قرار بدین.:لبخندساده:

sohrab o
یک شنبه 26 اردیبهشت 1389, 20:34 عصر
DataReport.PrintReport False