محدود کردن page در print یک شیت به صورت اتوماتیک با دستور vb

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • علی فاطمی

    • 2014/02/17
    • 523
    • 51.00

    محدود کردن page در print یک شیت به صورت اتوماتیک با دستور vb

    ضمن عرض سلام و تبریک عید و سال نو ، امیدوارم سال 93 را با تنی سالم و دلی شاد به پایان برسانید.
    من یه برنامه نوشتم که جنرال یعنی برای کارخانه ها و محصولات مختلف استفاده میشه به صورتی که ممکن در کارخانه ها یا محصولات مختلف تعداد پارامترها ( هر پارامتر در یک ردیف )ثبت شده در صفحه اصلی مختلف باشه و حداکثر پارامتر ( ردیف ) رو 100 ردیف تعریف کردم یعنی در هر صفحه 20 ردیف و در نتیجه در printpreview پنج صفحه خواهیم داشت.
    حالا من می خوام زمانی که کاربر مثلا 15 ردیف رو ثبت می کنه دستور بنویسم که در هنگام print فقط صفحه اول چاپ بشه یا اگر 25 ردیف یود دو صفحه اول فقط چاپ بشه البته به صورت اتوماتیک یعنی برنامه نسبت به ردیف های ثبت شده در هر صفحه هوشمند باشه و خودش صفحات دیگر رو در printpreview اصلن نمایش نده .
    اگر این موضوع امکان پذیر باشه ممنون میشم منو راهنمایی کنین.
    سپاس.
    [FONT=tahoma][SIZE=2][B][COLOR=#800080][SIZE=3]در دنیا فقط یک نفر وجود دارد که باید از او بهتر باشید و آن کسی نیست جز گذشته خودتان[/SIZE] [/COLOR][/B][/SIZE][/FONT]


    [CENTER][SIZE=7][FONT=franklin gothic medium][/FONT] [/SIZE]
    [/CENTER]
  • Alireza
    مدير تالار تنظيمات اكسل

    • 2011/03/01
    • 648
    • 80.00

    #2
    سلام
    دوست عزیز برای این کار باید از حلقه for استفاده کنید و 5 مرحله شرط ایجاد کنید و برای بدست آوردن کد چاپ میشه از روش ضبط ماکرو استفاده کرد
    [CENTER][COLOR=#ffd700]​[/COLOR]تنها راهي که به شکست مي انجامد، تلاش نکردن است
    [IMG]http://www.graphics18.com/wp-content/uploads/2010/12/yellow-flower23.gif[/IMG]
    [/CENTER]

    کامنت

    • امين اسماعيلي
      مدير تالار ويژوال بيسيك

      • 2013/01/17
      • 1198
      • 84.00

      #3
      با درود
      اگر کد های که نوشتین درست عمل میکنند و تو هر صفحه همون مقدار رو نشون میدن
      شما میتونین از کد مربوط به set printarea استفاده کنید. یه ماکرو ضبط کن و یه رنج رو SETPRINT کن و بعدش یه متغییر تعریف کن و اون SETPRINT رو پویاش کن. حالا میتونی اون متغییر رو به یه INPUTBOX یا TEXTBOX یا CELL ارجاع بدی و اتوماتیک تا اون محدوده واسه پرینت اماده بشه و اتوماتیم طبق همون کد های قبلی که نوشتی دیگه ادامه پیدا میکنه
      در پناه خداوندگار ایران زمین باشید و پیروز

      کامنت

      • علی فاطمی

        • 2014/02/17
        • 523
        • 51.00

        #4
        جناب اسماعیلی سلام و ممنون از توجه شما،
        من با استفاده از چند شرط در یک CommandButton جواب گرفتم لطفا اگر ممکنه فایل پیوست رو هم یه نیم نگاهی بندازین.
        اگر در ستون F به ترتیب سلول 76 و بعد 51 و بعد 26 رو پاک کنید به ترتیب صفحات در print preview کمتر می شوند .
        خوشحال میشم نظرتون رو بدونم.
        فایل های پیوست شده
        [FONT=tahoma][SIZE=2][B][COLOR=#800080][SIZE=3]در دنیا فقط یک نفر وجود دارد که باید از او بهتر باشید و آن کسی نیست جز گذشته خودتان[/SIZE] [/COLOR][/B][/SIZE][/FONT]


        [CENTER][SIZE=7][FONT=franklin gothic medium][/FONT] [/SIZE]
        [/CENTER]

        کامنت

        • امين اسماعيلي
          مدير تالار ويژوال بيسيك

          • 2013/01/17
          • 1198
          • 84.00

          #5
          با درود
          خوب مشکل که نداری اره. خوب در این حد که تازه شروع کردی خوبه منم از این که پیگیری کردی حرف مارو ازت ممنونم. حالا اگر یه نفر نخواد دستی این کارو بکنه یا به دلایلی تصمیم گرفتی که هی این رنج ها رو عوض کنی هی شرط باید بزاری که. یا اگر یه دوستی یادش رفت اون سل های زرد رو پاک کنه چیکار کنیم ما . خوبه ولی سعی کن یه متغییر بدی و بعدش با استفاده از اون همین کار صورت بپذیره. در کل مرسی
          در پناه خداوندگار ایران زمین باشید و پیروز

          کامنت

          • علی فاطمی

            • 2014/02/17
            • 523
            • 51.00

            #6
            با سلام،
            در این برنامه کاربر بایستی یکی یکی ردیف هارو پرکنه تا نهایتا به صفحه بعد بره ، و از اونجایی که همون ردیف اول پر بشه باید در چاپ لحاظ بشه ، من اومدم شرط رو بر اساس ردیف اول گذاشتم.
            ممنون که توجه کردین.
            [FONT=tahoma][SIZE=2][B][COLOR=#800080][SIZE=3]در دنیا فقط یک نفر وجود دارد که باید از او بهتر باشید و آن کسی نیست جز گذشته خودتان[/SIZE] [/COLOR][/B][/SIZE][/FONT]


            [CENTER][SIZE=7][FONT=franklin gothic medium][/FONT] [/SIZE]
            [/CENTER]

            کامنت

            چند لحظه..