Anonymní profil anonym – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil anonym – Programujte.comAnonymní profil anonym – Programujte.com

 

Příspěvky odeslané z IP adresy 147.229.94.–

anonym
Visual Basic › Předání názvu formuláře mezi…
10. 3. 2009   #97045

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!

 

 

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