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!
Fórum › Visual Basic
Předání názvu formuláře mezi procedurami
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žení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 14 hostů
Podobná vlákna
Predani nazvu funkce do class — založil peter
Předání dat z formuláře — založil TenTen
Předání hodnot mezi třídami — založil roman.jaros
Předání parametru z formuláře Access do SQL Server 2008 — založil duvlik
Moderátoři diskuze