نمایش نتایج 1 تا 18 از 18

نام تاپیک: چطور کاغذ را a5 تعریف کنم ؟

  1. #1
    کاربر دائمی آواتار mrtzxxx
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    ایران من
    پست
    335

    Question چطور کاغذ را a5 تعریف کنم ؟

    چطوری می شه در دیتا ریپورتر کاغذ رو a5 تعریف کرد ؟

  2. #2
    منم همين سوالو دارم ...

  3. #3
    کاربر دائمی آواتار AmirAmiri
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    مشهد
    پست
    353
    فکر نکنم بشه چنین کاری کرد. اگه یه نگاه به پراپرتی هاش بکنید میبینید که چنین چیزی نداره. حداقل من که ندیدم.
    د ضمن یه سوال: مگه پرینتر میتونه به غیر از A4 کاغذ دیگه ای هم مثلا A3 چاپ کنه؟ اگه نتونه اینکارو بکنه کاملا منطقیه که DataReport هم چنین پراپرتی نداشته باشه ولی اگه پرینتر بتونه اینکارو بکنه پس میشه گفت این یک ضعفه VB هست.

  4. #4
    سلام

    با خاصيت ReportWidth ميشه عرض كاغذ رو تعريف كرد
    ضمنا فكر مي كنم اگر قبل از چاپ با دستوري مثل Printer.PaperSize = vbPRPSA5 كاغذ رو براي چاپگر تعريف كنيم روي ديتا ريپورت هم اثر ميزاره
    آخرین ویرایش به وسیله vbhamed : یک شنبه 29 اردیبهشت 1387 در 02:56 صبح
    اگر من و شما هر كدوم يك چيز ياد داشته باشيم و به هم ياد بديم، حالا هر كدوم دو تا چيز ياد داريم ! http://www.ArminaCo.com

  5. #5
    نقل قول نوشته شده توسط AmirAmiri مشاهده تاپیک
    فکر نکنم بشه چنین کاری کرد. اگه یه نگاه به پراپرتی هاش بکنید میبینید که چنین چیزی نداره. حداقل من که ندیدم.
    د ضمن یه سوال: مگه پرینتر میتونه به غیر از A4 کاغذ دیگه ای هم مثلا A3 چاپ کنه؟ اگه نتونه اینکارو بکنه کاملا منطقیه که DataReport هم چنین پراپرتی نداشته باشه ولی اگه پرینتر بتونه اینکارو بکنه پس میشه گفت این یک ضعفه VB هست.
    به سوال توجه کنید گفتند A5 نه A3 که a5 رو هم توی تنظیمات پرینتر داره.

  6. #6
    نقل قول نوشته شده توسط vbhamed مشاهده تاپیک
    سلام

    با خاصيت ReportWidth ميشه عرض كاغذ رو تعريف كرد
    ضمنا فكر مي كنم اگر قبل از چاپ با دستوري مثل Printer.PaperSize = vbPRPSA5 كاغذ رو براي چاپگر تعريف كنيم روي ديتا ريپورت هم اثر ميزاره

    من نميدونم چرا وقتي اين كد رو اجرا ميكنم سايز كاعذ رو تغيير نميده
    Printer.PaperSize = vbPRPSA5 

    من با پرينتر مجازي "FinePrint pdfFactory Pro" دارم كار ميكنم
    بايد حتما از منوي Start > Printers And Fax > FinePrint pdfFactory Pro رو انتخاب كنم بعد از منوي Printer بعد زير منوي Printer Performance سايز كاغذ رو دستي تغيير بدم يعني اون كد كه اجرا ميشه بعد ميرم نگاه ميكن ميبينم سايز كاغذ A5 نشده ؟؟؟

  7. #7
    از فرمان printer.width و printer.higth استفاده کنید .
    البته من بعد از استفاده از این روش برای چاپ گزارش از printer.print استفاده کردم و جواب داده . شما باید سایز کاغذ A5 رو دستی وارد کنید.

  8. #8
    سلام
    مگه با اين دستور نبايد اندازه كاغذ پرينتر پيش فرض من تفيير كنه
     
    Private Sub Command1_Click()

    Printer.ScaleMode = vbMillimeters
    Printer.Width = 148
    Printer.Height = 210

    End Sub

    اما من اينو اجرا ميكنم ميرم نگاه ميكنم ميبينم كه تغيير نكرده
    شايد يه دستوري بايد بنويسم كه اين تغييرات رو Set كنه ؟؟؟
    البته من با "FinePrint pdfFactory Pro" دارم تست ميكم ربطي نداره ؟

  9. #9
    نقل قول نوشته شده توسط UpgradeVB6Code مشاهده تاپیک
    سلام
    مگه با اين دستور نبايد اندازه كاغذ پرينتر پيش فرض من تفيير كنه
     
    Private Sub Command1_Click()

    Printer.ScaleMode = vbMillimeters
    Printer.Width = 148
    Printer.Height = 210

    End Sub

    اما من اينو اجرا ميكنم ميرم نگاه ميكنم ميبينم كه تغيير نكرده
    شايد يه دستوري بايد بنويسم كه اين تغييرات رو Set كنه ؟؟؟
    البته من با "FinePrint pdfFactory Pro" دارم تست ميكم ربطي نداره ؟
    اين كدها كه ما مينويسيم هيچ كدوم Set نميشند
    كسي نميدونه اون دستوري كه اينا رو Set ميكنه چيه ؟

  10. #10
    شما برو توی قسمت controlpanel ویندوز و پرینتر پیش فرضت رو microsoft office image انتخاب کن و کارهایی رو که میکردی تکرار کن. قطعا درست میشه.درضمن گزینه printer.enddoc رو هم نذاشتی.

  11. #11
    سلام
    من اين 3 تا پرينتر رو دارم



    بعد اين كد رو اجرا ميكنم

    Private Sub Command1_Click()
    Printer.ScaleMode = vbMillimeters
    Printer.PaperSize = vbPRPSA5
    Printer.Orientation = vbPRORLandscape
    Printer.EndDoc
    End Sub


    انتظار دارم وقتي اون صفحه رو ميارم به اون شكلي كه نشون دادم باشه اما نميشه




    من اين تست رو روي هر سه تا پرينتر انجام دادم اما نشد

    ميشه شما اگر پرينتر داريد تست كنيد ببينيد اين كدها روي پرينتر شما اين تغييرات رو اعمال ميكنه يا نه ؟؟؟
    آخرین ویرایش به وسیله UpgradeVB6Code : چهارشنبه 01 خرداد 1387 در 21:15 عصر

  12. #12
    نه آفیس رو نصب کن و سپس پرینتر پیش فرض رو image office انتخاب کن
    عکس های ضمیمه عکس های ضمیمه

  13. #13
    سلام

    وقتي شما دستور تنظيم صفحه رو به چاپگرت مي دي، فقط براي برنامه خودت تنظيم ميشه پس نيازي نيست اون پنجره تغيير كنه
    ضمنا دستور Enddoc وقتي لازمه كه چيزي واسه چاپ فرستاده باشي
    دستورات زير رو ببين


    Printer.PaperSize = vbPRPSA5
    Printer.Print "This is a test"
    Printer.EndDoc



    با نوشتن اين دستورات جمله This is a test روي يك صفحه A5 چاپ ميشه، چاپگرش هم مهم نيست چي باشه، با همون چاپگر پيش فرض ويندوز چاپ مي كنه كه البته مي توني با چاپگر ديگه هم بهش بگي چاپ كنه
    اگر من و شما هر كدوم يك چيز ياد داشته باشيم و به هم ياد بديم، حالا هر كدوم دو تا چيز ياد داريم ! http://www.ArminaCo.com

  14. #14
    ابتدا پرینتر پیش فرض رو تنظیم کن همونطوری که گفتم و سپس کد زیر رو اجرا کن تا اندازه صفحه A5 رو ببینی در پیش نمایش

    Private Sub CmdPrint_Click()
    Printer.Height = 12000
    Printer.Width = 8000
    Printer.CurrentX = 1000
    Printer.CurrentY = 1000
    Printer.Print "Hello UpgradeVB6Code"
    Printer.EndDoc
    End Sub

  15. #15
    اين كدها درست كار ميكنند يعني اندازه كاغذ رو براي برنامه ميكنند A5 اما مشكل اينه كه با ديتا ريپورت چه طوري اين كارو بكنم
    يعني من اين كدهاي شما رو كه وارد ميكنم بعد
    Printer.Print "Hello UpgradeVB6Code"

    رو ميزنم اندازه كاغذ A5 هست اما وقتي
    DataReport2.PrintReport

    رو ميزنم باز اندازه كاغذ همون اندازه هاي پيش فرض هست و به انداره A5 تغيير نكرده مگر اين كه دستي برم اندازه پيش فرض رو A5 بذارم
    اما ميخوام اين كارو برنامه خودش انجام بده

  16. #16
    اگه شما بخوای از شئ دیتا ریپورت استفاده بکنی اجازه تعریف نوع کاغذ رو نداری و فقط روی A4 می تونی چاپ کنی . بهر حال برای هر کاری راه حلی هست . شما میتونی از کریستال ریپورت استفاده کنی و یا از شئ پرینتر با هزاران قابلیت . کاری که من با کد بالا برات سایز کاغذ A5 رو ساختم.

  17. #17

    هيچ راهي نداره ؟؟؟

    من قبول ندارم كه نشه اينكار رو انجام داد !!!
    upgradevb6code من هم همان مشكل شما رو دارم
    تغيير سايز كاغذ از طريق كد در هنگام كار با ديتا رپورت

  18. #18

    نقل قول: هيچ راهي نداره ؟؟؟

    نقل قول نوشته شده توسط flooden مشاهده تاپیک
    من قبول ندارم كه نشه اينكار رو انجام داد !!!
    upgradevb6code من هم همان مشكل شما رو دارم
    تغيير سايز كاغذ از طريق كد در هنگام كار با ديتا رپورت
    من تحقیق کردم دیتا ریپورت این امکان رو نداره که بتونی سایز کاغذ رو تغییر بدی
    اما انگار توی SP6 امکان تغییر جهت کاغذ هست
    فکر کنم آپدیت به sp6 رو از مایکروسافت بتونی بگیری

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •