نمایش نتایج: از شماره 1 تا 5 , از مجموع 5

موضوع: نمايش درصد پيشرفت در vba

  1. #1


    آخرین بازدید
    18 ساعت پیش
    تاریخ عضویت
    September 2013
    محل سکونت
    بچه محل آقا امام رضا
    نوشته ها
    4,469
    امتیاز
    12312
    سپاس
    8,924
    سپاس شده
    10,583 در 3,742 پست
    سطح اکسل
    100.00 %

    Cap نمايش درصد پيشرفت در vba

    سلام دوستان

    تو اين تاپيك ميخوام براتون نحوه ساخت يك درصد پيشرفت فرايند رو بهتون آموزش بدم

    خب اول نتيجه نهايي رو بهتون نشون ميدم.
    برای دیدن سایز بزرگ روی عکس کلیک کنید

نام:  Untitled.jpg
مشاهده: 73
حجم:  9.7 کیلو بایت

    خب حالا بريم مرحله به مرحله اين درصد پيشرفت رو بسازيم.

    اول از همه يك فرم ميسازيم با دوتا ليبل و يك فريم. فريم براي كادر، يك ليبل براي نشون دادن ميزان پيشرفت (قسمت آبي رنگ) يك ليبل براي نشون دادن درصد (قسمت عددي)

    حالا روي فرم كليك ميكنيم و F7 رو ميزنيم. تمامي كدها رو حذف كرده و كدهاي زير رو بهش اضافه ميكنيم

    کد:
    'Hide a UserForm's Close Button
    'Find the userform's Window
    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    'Get the current window style
    Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
    'Set the new window style
    Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Const GWL_STYLE = -16
    Const WS_SYSMENU = &H80000
    Private Sub UserForm_Initialize()
       Dim hWnd As Long, lStyle As Long
       'Which type of userform
       If Val(Application.Version) >= 9 Then
          hWnd = FindWindow("ThunderDFrame", Me.Caption)
       Else
          hWnd = FindWindow("ThunderXFrame", Me.Caption)
       End If
       'Get the current window style and turn off the Close button
       lStyle = GetWindowLong(hWnd, GWL_STYLE)
       SetWindowLong hWnd, GWL_STYLE, (lStyle And Not WS_SYSMENU)
    End Sub
    اين كد باعث ميشه كه دكمه خروج از بالاي فرم حذف بشه و پنجره قابل بسته شدن نباشه كه البته ضروري هم نيست. من ترجيح دادم دكمه حذف بشه

    بعد در ادامه اين كد رو اضافه ميكنيم:
    کد:
    Private Sub UserForm_Activate()
    code
    End Sub
    اين كد باعث ميشه بعد از فعال شدن فرم درصد پيشرفت يكسري كد اجرا بشه


    خب حالا يك ماژول ميسازيم و اين كدها رو داخل ماژول ميذاريم:
    کد:
    Sub code()
    Dim i As Integer, j As Integer, pctCompl As Single
    For i = 1 To 100
        pctCompl = i
        progress pctCompl
        Application.Wait Now() + TimeSerial(0, 0, 1)
    Next i
    Unload UserForm1
    End Sub
    Sub progress(pctCompl As Single)
    UserForm1.Text.Caption = pctCompl & "%"
    UserForm1.Bar.Width = pctCompl * 2
    DoEvents
    End Sub
    اين كد همان فرايندي هست كه قرار هست انجام بشه و ما درصد پيشرفت اين فرايند رو متوجه بشيم.
    قسمت هايي كه با سبز مشخص كردم اجباري هست و بايد وجود داشته باشه. بقيش با توجه به كاري كه ميخوايم انجام بديم تغيير ميكنه
    خب در آخر هم كد زير رو در ادامه كدهاي قبل اضافه ميكنيم
    کد:
    Sub CallFrom()
        UserForm1.Show
    End Sub
    اين كد براي شروع فرايند هست و درواقع با اجراي اين كد فرايند استارت ميخوره

    به همين راحتي يك فرم درصد پيشرفت ساختيم. من يك نمونه هم پيوست ميكنم كه بهتر بتونين استفاده كنيد
    اخطار: این یک موضوع قدیمی است
    به دلیل قدیمی بودن موضوع، ممکن است برخی فایل های ضمیمه به درستی کار نکنند. لطفا در صورت عدم ضرورت، از بالا آوردن موضوعات قدیمی خودداری نمایید.
    فايل هاي پيوست شده فايل هاي پيوست شده
    ویرایش توسط Amir Ghasemiyan : 2014/12/01 در ساعت 09:48 دلیل:اصلاح كدها


  2.  

  3. #2

    آخرین بازدید
    2015/09/21
    تاریخ عضویت
    May 2013
    نوشته ها
    1
    امتیاز
    0
    سپاس
    0
    سپاس شده
    0 در 0 پست
    تعیین سطح نشده است

    salam ba tashakor
    chetor mishe zamane in process ro kahesh dad?

  4. #3


    آخرین بازدید
    18 ساعت پیش
    تاریخ عضویت
    September 2013
    محل سکونت
    بچه محل آقا امام رضا
    نوشته ها
    4,469
    امتیاز
    12312
    سپاس
    8,924
    سپاس شده
    10,583 در 3,742 پست
    سطح اکسل
    100.00 %

    نقل قول نوشته اصلی توسط afshin181 نمایش پست ها
    salam ba tashakor
    chetor mishe zamane in process ro kahesh dad?

    دوست عزیز ضمن خوش آمدگویی خدمت شما، لطف کنید فارسی تایپ کنید

    در خصوص سوال شما هم عرض کنم که این خط از کدها رو تغییر بدین
    کد:
    Application.Wait Now() + TimeSerial(0, 0, 0.35)
    من الان تغییر دادم که بدونین چطوری باید عمل کنید


  5. #4


    آخرین بازدید
    2021/02/22
    تاریخ عضویت
    May 2012
    محل سکونت
    تهران
    نوشته ها
    142
    امتیاز
    6
    سپاس
    50
    سپاس شده
    18 در 9 پست
    سطح اکسل
    35.00 %

    sohrabahmadi به Yahoo ارسال پیام
    سلام و تشکر از شما چطور میشه زمان این پیشرفت رو با زمان اجرای یک کد هماهنگ کرد؟
    تو خشنود باشی و ما رستگار

  6. #5


    آخرین بازدید
    2020/12/19
    تاریخ عضویت
    April 2020
    نوشته ها
    93
    امتیاز
    14
    سپاس
    34
    سپاس شده
    4 در 4 پست
    سطح اکسل
    54.00 %

    با سلام و احترام
    این فرم بای من باز نمیشه
    قابل ذکر هست که ویندوز 10 و 64 بیتی دارم
    لطفا راهنمایی بفرمایید


اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. پيدا كردن اخرين عدد
    توسط sajad2000 در انجمن سوالات اكسس - Access Questions
    پاسخ ها: 2
    آخرين نوشته: 2014/03/11, 12:21
  2. پيدا كردن عدد در سطرديگر
    توسط abolhassan در انجمن توابع اکسل - Excel Functions
    پاسخ ها: 18
    آخرين نوشته: 2012/07/14, 15:36
  3. مقدار پيش فرض سل
    توسط intro در انجمن سوالات اكسل - Excel Questions
    پاسخ ها: 24
    آخرين نوشته: 2012/06/21, 12:09
  4. پيدا كردن فرمولهاي بكار رفته
    توسط farzin24622 در انجمن سوالات اكسل - Excel Questions
    پاسخ ها: 11
    آخرين نوشته: 2011/05/10, 01:55

بازدید کنندگان با جستجو های زیر این صفحه را پیدا کرده اند

درصد پیشرفت اجرای vba

کلمات کلیدی این موضوع

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  
  • BB code ها فعال هستند
  • شکلک ها فعال هستند
  • کد [IMG] فعال است
  • کد [VIDEO] فعال است
  • کد HTML غیر فعال است