Progressbar - létrehozását a töltési sáv VBA

Végrehajtása során a kód az Excel, abban az esetben a hosszú távú teljesítmény egy folyamat, szükséges, hogy tájékoztassa a felhasználót, hogy a kérelem működik folyamatosan, és nem lógott, mint amilyennek látszik első pillantásra.

Sok esetben ez elég ahhoz, hogy nyugodt a felhasználók a programokat. Ha azt szeretnénk, hogy több információt, hogy tájékoztassa a többi kezelés, a teljesítésarányos, leáll az eljárást, egy állapotsor nem tud.

Ez a cikk leírja, hogyan lehet létrehozni egy boot ablak (vagy más előrelépés bar) az eljárások a túlzsúfoltság veszélye nélkül a kódot.

Fájl letöltése az osztály lehet a végén.

A készítmény az állapotjelző sáv

Épített letöltési ablak alapján egy egyszerű egyéni formában UserForm, amely a következő elemeket tartalmazza:

  1. Két címke ellenőrzés. Ezeket kombinálva használjuk, hogy megjelenjen a folyamatjelző sáv. Az első használják, mint egy konténer, és kiváló hátteret a háttérből formában. A második ágyazott első és egy dinamikus szélesség, amely változik a százalékos végrehajtása folyamatban. A háttere eltér a háttér és a háttér formája a szülő elem. Ezek az elemek helyettesíteni lehet egy további, amely az úgynevezett - Folyamatsáv, de használata kapcsolatban lehet néhány problémát amelyet alább említett.
  2. Három címke ellenőrzés. Mindegyik független a többitől, és megjelenítésére vonatkozó információkat: az eljárás időtartama, a hátralévő idő, a szám a múlt szakaszában a folyamat.
  3. TehBox megjelenítéséhez speciális üzenetek a felhasználó számára.

Ha hozza az összes elemet az űrlapon, akkor azt a következő formában:

Progressbar - létrehozását a töltési sáv VBA

Abban az esetben felesleges a bizonyos elemeit, nem tudnak nyomtatni. Ellenőrizze a visszavonását része a már meglévő osztály «Folyamatsáv», amelynek egy példányát először létre kell hozni (var = Új Folyamatsáv). Ezután a létrehozott osztály, akkor programozott töltse ki az űrlapot elemeket, és felkéri őket konkrét értékeket.

Leírás az osztály, és hogyan lehet létrehozni egy boot windows

Kezdeni, úgy a rendelkezésre álló módszerek ebben az osztályban, nem összpontosít a kódot, de csak annak működését:

  • createLoadingBar módszer - megteremti loading bár a forma;
  • createString - megteremti kifejezés "feldolgozott:% ...";
  • createtimeDuration - megteremti kifejezés "feldolgozás ideje: ...";
  • createtimeFinish - létrehoz egy string „Maradék feldolgozási idő ...”;
  • createTextBox - létrehoz egy TextBox elem;
  • setParameters - beállítja a rendszerindítási beállítások ablak a következő folyamatot. Elfogadja 3 érvek:
    • expProcess_INT - kötelező argumentum. Vesz egy egész szám, állítólag azért, mert a több szakaszban az a későbbi folyamat;
    • UpdateInterval_INT - opcionális argumentum. Vele, akkor meg a frissítési időköz forma, azaz a után számos lépést az összes letöltés ablak elemek frissíteni kell;
    • UpdTimeInterval_INT_SEC - opcionális argumentum. Megadja a frissítési időköz másodpercben formában. Az érvelés értelme, ha az argumentum nincs megadva UpdateInterval_INT.
  • Abban az esetben, ha mindkét érvek adja az intervallum, nincs megadva, vagy 0, akkor az alapértelmezett frissítési időköz egyenlő lesz egy pillanatra.
  • Kezdés módszer - elindítja a letöltés ablak. Ez a módszer azért fontos, mert ez azt mutatja, maga a forma, és tárolja a kezdési időpont, amelyet később a számításhoz használt. A módszer úgy egy opcionális argumentum - cím. Ezzel beállíthatja a címet képez a töltési sáv. Az alapértelmezett érték megegyezik a fejléc „végrehajtási eljárás”.
  • Frissítve - frissíti az űrlapot, ha a intervallum által meghatározott setParameters. Ez a módszer két argumentuma van:
    • curProcess - egész szám. Száma a jelenlegi szakaszban a folyamatot;
    • stringTextBox - sort a szövegmezőbe.
  • exitBar - bezárja az állapotjelző sáv és távolítja el az űrlapot a memóriából.
  • getForm - visszaadja utalás formájában az állapotjelző sáv.

Ez úgy történik, két ok miatt.

A második ok teljesítményét. Annak ellenére, hogy az ötlet a visszavonást indítási információ megalapozott, természetesen annak használata lassítja a folyamatot. Például, a következő példában Folyamatsáv kezelési idő 1 perc 17 másodperc, majd adott időközönként a második frissítés. Frissítésekor alakja minden egyes szakaszban 2 percig elemzett valamivel több, mint 2 század mennyiségben. Használata nélkül minden tartott 8 másodperc. Így próbálja használni az állapotjelző sáv csak akkor, ha igazán számít, és alkalmazza az optimális intervallum - másodperc is elég, több, mint ez az érték bármilyen változás a teljesítmény figyelhető meg.

Meg is van a képesség, hogy állítsa le a folyamatok végrehajtása, zárás a letöltés ablak. Pre felhasználó megjelenik egy megerősítő képernyő.

Példa folyamatjelző kapcsolódás a makro

Következő egy egyszerű példa válogatás karaktersor. Maga a szó az eljárás nem, de jól mutatja képes indítani a Windows.

Többszintű loading bar

Az alkalmazás ebben a cikkben ismertetett lehetővé teszi, hogy hozzon létre egy osztályt egymástól független letöltés windows többszintű folyamatokat.

Nincs szükség további lépésekre, hogy hozzon létre egy új példányt az osztály elég (New Folyamatsáv), és vele együtt dolgozni, függetlenül attól, hogy a szülő folyamat.

Ajánlás: A gyermek folyamatok növelik a formák egyedi letöltések fejlécek (ProgressBar.Start alá). Értesíti a felhasználói program jelenleg fut alprocessz.

Microsoft Folyamatsáv Ellenőrző különleges tárgy

Azt mondták, hogy a fenti a töltési sáv maga is helyettesíthető egy további ellenőrzési forma, amelyet kifejezetten erre a célra, és az úgynevezett Microsoft Folyamatsáv Control 6.0-t. Alkalmazni, csak kattintson az egér jobb gombjával Tollbox panelt és válassza a „További beállítást.”.

Progressbar - létrehozását a töltési sáv VBA

A probléma megoldásához először ellenőrizze, hogy a számítógép MSCOMTCL.ocx fájlt. Ez a könyvtár tartalmazza a Windows 6.0 közös ellenőrzéseket. Meg kell mappában található \ Windows \ SysWOW64 x64-alapú operációs rendszer vagy a \ Windows \ Sistem32 32 bites. Ha szükséges, töltse le és tegyük a kívánt mappát.

Miután látta a jelenléte a könyvtár, akkor regisztrálja. Kezdés egy parancssort rendszergazdaként (Start -> Minden program -> Kellékek -> Command Prompt) és fuss regsvr32 MSCOMTCL.ocx.

Töltse például VBA loading bar

Töltse például progressbar VBA c Microsoft Folyamatsáv vezérlés.