Předání názvu formuláře mezi procedurami – Visual Basic – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Předání názvu formuláře mezi procedurami – Visual Basic – Fórum – Programujte.comPředání názvu formuláře mezi procedurami – Visual Basic – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
anonym
~ Anonymní uživatel
429 příspěvků
10. 3. 2009   #1
-
0
-

VBA (Excel)

Zdravím všechny!
Potřebovala bych poradit s předáváním názvu formuláře mezi procedurami, tak abych ho mohla požít jako součást cesty k objektu...

Potřebuju to vědět z důvodu využívání společné procedury (v modulu), která se ovšem zasazuje do různých formulářů.

Takže ve formuláři po kliknutí na tlačítko "T", kód v "T_Click" odkáže na proceduru "Telefony", která je společná pro více formulářů. Od formuláře chci, aby modulu předal svůj název (název formuláře), aby modul mohl identifikovat objekt (v mém případě TextBox) a v případě, že je prázdný, vypsat hlášku. To samé by měl udělat jakýkoli jiný formulář, kde je odkaz proceduru "Telefony" v modulu.

Ve formuláři "F_zakaznik":
Private Sub T_Click()
Dim cesta As String
cesta = "F_zakaznik"
Telefony (cesta)
End Sub

V modulu:
Sub Telefony(cesta)
If cesta.Telefon.Value = "" Then
MsgBox("Vyplň to, lajdáku!")
End If
End Sub

... takhle to, samozřejmě, nefunguje, protože "cesta" je typu String. Ale zkoušela jsem použít i typ Object, ale nepodařilo se mi takovou proměnnou převést z jedné procedury do druhé:

Ve formuláři "F_zakaznik":
Private Sub T_Click()
Dim cesta As Object
Set cesta = F_zakaznik
Telefony (cesta)
End Sub

V modulu:
Sub Telefony(cesta)
If cesta.Telefon.Value = "" Then
MsgBox("Vyplň to, lajdáku!")
End If
End Sub

... když jsem nadefinovala proměnnou "cesta" přímo v modulu, tak to bylo bez problému (If proběhlo, za cestu se dosadilo "F_zakaznik"), ale jakmile se pokusím naplnit proměnnou už ve formuláři, nahlásí mi to error: "Object does not support this property or method."

Stringy mi jdou přenášet v pohodě, takže by možná stačilo ve formuláři nadefinovat String, kam by se uložilo: "F_zakaznik" a v modulu potom Object, kam by se uložila objektová podoba Stringu (to však vyžaduje příkaz nebo funkci na převod Stringu na Object - je nějaká taková?).

Někde dělám nějakou banální chybu. Zkuste ji, prosím, někdo najít nebo navrhnout nějaké jiné efektivnější řešení. Díky za pomoc!

Nahlásit jako SPAM
IP: 147.229.94.–
Reklama
Reklama
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 20 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý