Sposób wyświetlania paska postępu dla formularza użytkownika w programie Excel

Zakończono świadczenie pomocy technicznej dla pakietu Office 2003

Firma Microsoft zakończyła świadczenie pomocy technicznej dla pakietu Office 2003 8 kwietnia 2014. Ta zmiana wpłynęła na Twoje aktualizacje oprogramowania i opcje zabezpieczeń. Dowiedz się, co to oznacza dla Ciebie i jak zapewnić sobie kontynuację ochrony.

WAŻNE: Ten artykuł został przetłumaczony przy użyciu oprogramowania firmy Microsoft do tłumaczenia maszynowego i może być poprawiony przy użyciu technologii Community Translation Framework (CTF). Firma Microsoft udostępnia artykuły tłumaczone maszynowo, poprawione przez społeczność, a także tłumaczone przez tłumaczy profesjonalnych, aby zapewnić dostęp do wszystkich artykułów w bazie wiedzy w wielu językach. Artykuły tłumaczone maszynowo i poprawione mogą zawierać błędy pisowni, składniowe i gramatyczne. Firma Microsoft nie ponosi odpowiedzialności za żadne nieścisłości, błędy ani szkody spowodowane przez niepoprawne tłumaczenia zawartości ani przez korzystanie z niej przez klientów. Więcej o strukturze CTF: http://support.microsoft.com/gp/machine-translation-corrections/pl.

Anglojęzyczna wersja tego artykułu to: 211736
Wersja tego artykułu do programu Microsoft Excel 97 można zobaczyć 170782.

Artykuł pomysł przekazywane przez: John Walkenbacha
Streszczenie
Jeśli masz program Microsoft Visual Basic for Applications makra, która zajmuje dużo czasu na zakończenie, można nadać użytkownikowi wskazanie, że makro jest wykonywane poprawnie. W tym artykule opisano sposób tworzenia paska postępu dla formularza użytkownika w programie Microsoft Excel.
Więcej informacji
Firma Microsoft podaje przykłady programowania wyłącznie, bez jakichkolwiek gwarancji wyrażonych wprost lub domyślnie. To obejmuje, ale nie jest ograniczona, ustawowej rękojmi co do przydatności handlowej lub przydatności do określonego celu. W tym artykule założono, że użytkownik zna demonstrowany język programowania oraz narzędzia, które są używane do tworzenia i debugowania procedur. Wykwalifikowani pracownicy pomocy technicznej firmy Microsoft mogą pomóc w wyjaśnieniu, jak działa określona procedura. Nie będą jednak modyfikować tych przykładów ani dodawać funkcjonalności i konstruować procedur w celu zaspokojenia określonych potrzeb użytkownika.

Tworzenie formularza użytkownika

W poniższym przykładzie procedura języka Visual Basic wypełnia duży zakreskomórek liczbę losową. Wskaźnik pokazuje, że makro jest uruchomionepoprawnie.
  1. Otwórz nowy skoroszyt w programie Excel.
  2. W programie Microsoft Office Excel 2003 i we wcześniejszych wersjach programu Excel kliknij menu Narzędzia, polecenie makro, a następnie kliknij Edytor Visual Basic.

    W programie Microsoft Office Excel 2007 w grupie Kod na karcie Deweloper kliknij przycisk języka Visual Basic .

    Uwaga: Aby wyświetlić kartę Deweloper na Wstążce, wykonaj następujące kroki:
    1. Uruchom program Excel 2007, kliknij Przycisk Microsoft Office, a następnie kliknij przycisk Opcje programu Excel.
    2. W oknie dialogowym Opcje programu Excel kliknij przycisk Popularne, a następnie kliknij, aby zaznaczyć pole wyboru Pokaż kartę Deweloper na Wstążce .
  3. W menu Wstaw kliknij polecenie UserForm.
  4. Nakreśl formant etykiety na formularzu użytkownika.
  5. Zmień następujące właściwości formantu etykiety na następujące wartości:
       Property        Value   --------------------------------------------   Caption         Now updating. Please wait...					
    Uwaga: Jeśli okno Właściwości nie jest widoczny, w menu Widok kliknij polecenie Okno właściwości .
  6. Nakreśl formant ramki na formularzu użytkownika.
  7. Zmień następujące właściwości formantu ramki na następujące wartości:
           Property        Value   -----------------------------   Name            FrameProgress					
  8. Nakreśl formant etykiety na formant typu Ramka .
  9. Zmień następujące właściwości formantu etykiety na następujące wartości:
        Property        Value    -------------------------------------    Name            LabelProgress    BackColor       &H000000FF&    SpecialEffect   fmSpecialEffectRaised					

Wpisz kod makra

  1. Kliknij dwukrotnie formularz użytkownika, aby otworzyć okno kodu dla formularza.
  2. W module wpisz następujący kod dla zdarzenia UserForm_Activate :
    Private Sub UserForm_Activate()    ' Set the width of the progress bar to 0.    UserForm1.LabelProgress.Width = 0    ' Call the main subroutine.    Call MainEnd Sub					
  3. W menu Wstaw kliknij polecenie Moduł.
  4. W oknie Kod modułu wpisz następujący kod:
    Sub ShowUserForm()    UserForm1.ShowEnd SubSub Main()    Dim Counter As Integer    Dim RowMax As Integer, ColMax As Integer    Dim r As Integer, c As Integer    Dim PctDone As Single    Application.ScreenUpdating = False    ' Initialize variables.    Counter = 1    RowMax = 100    ColMax = 25    ' Loop through cells.    For r = 1 To RowMax        For c = 1 To ColMax            'Put a random number in a cell            Cells(r, c) = Int(Rnd * 1000)            Counter = Counter + 1        Next c        ' Update the percentage completed.        PctDone = Counter / (RowMax * ColMax)        ' Call subroutine that updates the progress bar.        UpdateProgressBar PctDone    Next r    ' The task is finished, so unload the UserForm.    Unload UserForm1End SubSub UpdateProgressBar(PctDone As Single)    With UserForm1        ' Update the Caption property of the Frame control.        .FrameProgress.Caption = Format(PctDone, "0%")        ' Widen the Label control.        .LabelProgress.Width = PctDone * _            (.FrameProgress.Width - 10)    End With    ' The DoEvents allows the UserForm to update.    DoEventsEnd Sub					
  5. Wrócić do programu Excel.
  6. W programie Excel 2003 i we wcześniejszych wersjach programu Excel wskaż polecenie makro w menu Narzędzia , a następnie kliknij polecenie makra.

    W programie Excel 2007 kliknij przycisk makra w grupie Kod na karcie Deweloper .
  7. W oknie dialogowym makro kliknij, aby zaznaczyć ShowUserForm, a następnie kliknij polecenie Uruchom.
Zostanie wyświetlone okno dialogowe, który ma z czerwonym paskiem postępu. Pasek postępu zwiększa główne procedura wypełnia komórki w arkuszu.

ShowUserForm procedura zawiera formularz użytkownika. Procedury, która jest dołączone zdarzenie Activate formularza użytkownika wywołuje procedurę Main . Główne procedura wypełnia komórki liczbami losowymi. Ponadto ta procedura wywołuje procedury UpdateProgressBar procedura, która aktualizuje Etykieta na formularzu użytkownika.

Uwaga: Korzystając z tej techniki, makro trwa nieco dłużej na zakończenie wykonywania planowanych zadań.
XL2000 xl2002 XL2003 XL2007 XL2010

Ostrzeżenie: ten artykuł przetłumaczono automatycznie

속성

문서 ID: 211736 - 마지막 검토: 06/11/2016 22:02:00 - 수정: 4.0

Microsoft Office Excel 2007, Microsoft Excel 2002 Standard Edition, Microsoft Excel 2000 Standard Edition, Microsoft Office Excel 2003, Microsoft Excel 2010

  • kbinfo kbexpertisebeginner kbcode kbhowto kbmacro kbmt KB211736 KbMtpl
피드백