Přejít na hlavní obsah

Pozice VBA aplikace Excel UserForm na obrazovce: základní metody a doporučení

Práce v aplikaci VBA Excel může vyžadovat vytvoření uživatelského formuláře (UserForm), který bude použit k zadání dat nebo zobrazení informací uživateli. Jedním z důležitých aspektů při práci s UserForm je kontrola jeho polohy na obrazovce.

V tomto článku se podíváme na základní metody a pokyny pro správu polohy UserForm, abychom vytvořili uživatelsky přívětivé a efektivní rozhraní.

  1. Left a Top: Pomocí vlastností Left a Top můžete nastavit souřadnice levého horního rohu UserForm vzhledem k obrazovce. Chcete-li například umístit UserForm do levého horního rohu obrazovky, můžete nastavit hodnoty Left = 0 a Top = 0.
  2. StartUpPosition: Tato vlastnost umožňuje nastavit způsob automatického určení polohy UserForm při jeho otevření. Povolené hodnoty: 0 (Manual), 1 (CenterScreen), 2 (CenterOwner).
  3. Move: Pomocí metody Move lze přesouvat UserForm na konkrétní souřadnice na obrazovce. Tuto metodu lze například použít k animaci vzhledu UserForm.

Pokyny pro řízení polohy UserForm:

  1. Zvažte velikost obrazovky uživatele. Při vytváření UserForm je třeba vzít v úvahu různá rozlišení a velikosti obrazovek, aby byl UserForm pro uživatele vždy viditelný.
  2. Použijte vlastnost StartUpPosition k určení počáteční polohy UserForm. Pokud se například UserForm používá pouze k výstupu informací, může být vhodné jej umístit do středu obrazovky.
  3. Spravujte polohu UserForm v závislosti na jiných prvcích rozhraní. Pokud UserForm interaguje s jinými prvky aplikace Excel, nastavte její polohu vzhledem k těmto prvkům.

Nastavení polohy UserForm pomocí vlastnosti "StartupPosition"

Vlastnost "StartupPosition" může mít jednu ze čtyř hodnot:

  • 0-Manual (Ručně): Pozice UserForm bude definována ručně pomocí metody "Move".
  • 1-CenterOwner (uprostřed rodičovského okna): UserForm bude umístěn uprostřed rodičovského okna. Pokud není nastaveno rodičovské okno, UserForm bude umístěno uprostřed obrazovky.
  • 2-CenterScreen (uprostřed obrazovky): UserForm bude umístěn uprostřed obrazovky.
  • 3-WindowsDefault (výchozí pro Windows): UserForm bude umístěn podle nastavení operačního systému Windows.

Pro nastavení hodnoty vlastnosti "StartupPosition" lze použít následující kód:

V tomto případě bude UserForm "UserForm1" umístěn uprostřed rodičovského okna (nebo uprostřed obrazovky, pokud není nastaveno rodičovské okno).

Použití vlastnosti "StartupPosition" umožňuje snadné a pohodlné ovládání polohy UserForm při jeho otevření, což je zvláště užitečné při vytváření uživatelského rozhraní v Excelu VBA.

Použití vlastností " left "a" Top " pro ruční nastavení umístění UserForm

V VBA Excel je UserForm forma, na kterou lze umístit různé prvky rozhraní, jako jsou tlačítka, textová pole atd. Když uživatel otevře UserForm, zobrazí se na konkrétním místě na obrazovce.

Pro ruční nastavení umístění UserForm lze použít vlastnosti "left"a " Top". Vlastnost " Left "umožňuje nastavit vzdálenost od levého okraje obrazovky k levému okraji UserForm a vlastnost" Top " je vzdálenost od horního okraje obrazovky k hornímu okraji UserForm.

Chcete-li nastavit konkrétní hodnoty těchto vlastností, můžete použít následující kód:

Private Sub UserForm_Initialize()Me.Left = 100Me.Top = 100End Sub

V tomto příkladu bude UserForm otevřen tak, že jeho levý horní roh bude umístěn v bodě se souřadnicemi (100, 100) vzhledem k levému hornímu rohu obrazovky.

Vlastnosti "Left" a "Top" lze také použít k dynamickému nastavení umístění UserForm v závislosti na daných podmínkách nebo interakci uživatele. Můžete například změnit hodnotu těchto vlastností ve zpracování události tlačítka nebo při změně hodnot jiných prvků ve tvaru.

Všimněte si, že hodnoty vlastností "left" a "Top" mohou být záporné, což umožňuje umístit UserForm mimo viditelnou oblast obrazovky. V takovém případě může uživatel použít posuvníky k zobrazení celého obsahu UserForm.

Použití vlastností "Left " a" Top " umožňuje flexibilnější přizpůsobení umístění UserForm na obrazovce, aby vyhovovalo specifickým potřebám a preferencím uživatelů.

Automatické centrování UserForm pomocí metody "CenterScreen"

Metoda "CenterScreen" automaticky zarovnává UserForm na střed obrazovky, když je otevřena. To je zvláště užitečné, když se velikost UserForm dynamicky mění nebo není předem známa.

Pro použití metody "CenterScreen" VBA Excel je třeba provést několik jednoduchých kroků:

  1. Otevřete vestavěný editor VBA kliknutím na "ALT + F11".
  2. Vyberte projekt, ve kterém se UserForm nachází, z okna "projekty VBA" vlevo.
  3. Poklepáním na UserForm jej otevřete.
  4. Klikněte pravým tlačítkem na UserForm a z kontextové nabídky vyberte "kód".
  5. Zadejte následující kód do modulu UserForm:
Private Sub UserForm_Activate()Me.CenterScreenEnd Sub

Tento kód se automaticky spustí pokaždé, když se aktivuje UserForm. Vyvolá metodu "CenterScreen" pro aktuální instanci UserForm, která ji centruje na obrazovce.

Pomocí metody "CenterScreen" lze dosáhnout automatického vycentrování UserForm na obrazovce, aniž byste museli ručně vypočítávat jeho polohu a rozměry. Díky tomu je Kód kompaktnější a jednodušší pro podporu a změny v budoucnu.

Je důležité poznamenat, že metoda "CenterScreen" bude centralizovat UserForm na domovské obrazovce, pokud máte více monitorů. Pokud chcete, aby byl UserForm centrovaný na konkrétním monitoru, můžete použít jiné metody, jako je "CenterOwner" nebo "CenterParent".

MetodaPopis
"CenterScreen"Centruje UserForm na domovské obrazovce
"CenterOwner"Centralizuje UserForm vzhledem k jeho nadřazenému oknu
"CenterParent"Centralizuje UserForm vzhledem k oknu rodiče

Použití metody "CenterScreen" v aplikaci VBA Excel vám pomůže vytvořit profesionálnější a uživatelsky přívětivější uživatelské rozhraní a zároveň vám umožní vycentrovat UserForm na obrazovce.

Vyhněte se překrývání prvků rozhraní pomocí optimálního umístění UserForm

Při vývoji uživatelských formulářů (UserForm) v aplikaci VBA Excel je důležité určit optimální pozici pro každý prvek rozhraní, abyste se vyhnuli jejich překrývání a zajistili uživatelskou přívětivost.

Jedním ze způsobů, jak optimálně umístit prvky rozhraní na UserForm, je použití principu "minimálního překrytí". Při tomto přístupu je nutné umístit prvky rozhraní tak, aby se překrývaly pouze v minimální míře a uživatelé mohli pohodlně komunikovat s každým prvkem.

K dosažení optimálního umístění prvků UserForm lze použít metody jako:

  • Makety (Layouts): VBA Excel lze použít rozvržení k automatickému umístění prvků UserForm. Rozvržení vám umožní seskupit prvky rozhraní a automaticky je uspořádat do určité sekvence nebo mřížky. To usnadňuje optimální umístění prvků a zlepšuje čitelnost a porozumění uživatelskému rozhraní.
  • Síťové zarovnání (Grid Alignment): Možnost použití mřížky pomáhá zarovnat prvky UserForm na konkrétní souřadnice nebo buňky. To umožňuje vytvářet pravidelná a symetrická rozhraní, která uživatelé snáze vnímají a zlepšují jejich zkušenosti s formou.
  • Použití odsazení (Margins): Odsazení mezi prvky UserForm pomáhá vyhnout se jejich překrývání a umožňuje lepší vizuální strukturu rozhraní. Optimální odsazení pomůže uživatelům lépe se orientovat ve formě a snížit počet chyb v interakci s prvky.
  • Dynamické polohování (Dynamic Positioning): Při navrhování složitých UserForm může být nutné dynamické umístění prvků v závislosti na podmínkách nebo akcích uživatele. To umožňuje optimalizovat využití prostoru na obrazovce a snížit možné překrývání prvků rozhraní.

Správné umístění prvků rozhraní na UserForm pomáhá vytvořit pohodlnější a intuitivnější uživatelskou interakci s formou. To přispívá k vyšší efektivitě a spokojenosti uživatelů při práci s aplikací založenou na aplikaci VBA Excel.