Sub tlacitko(par as variant)
sVar = par.source.accessiblecontext.accessiblename
IF sVar = "Tlačítko první" Then
Print sVar
ElseIF sVar ="Tlačítko druhé" Then
print sVar
Else
print sVar
End If
End Sub
Větvení můžete udělat místo IF také pomocí Select Case :
Select Case par.source.accessiblecontext.accessiblename
Case "Tlačítko první"
' něco udělat
Case "Tlačítko druhé"
' něco udělat
Case Else
' něco udělat
End Select
"lp." odpovídá ale přesně na Váš požadavek. Ovšem lze očekávat problémy s názvy. Když byste jen kopíroval tlačítka tak makro nerozeznává typ prvku (- například tlačítko1, respektive button1). Ovšem do makra musí spadnout unikátní název. Tedy 2. položka z vlastností - popisek.
Z toho například vyplývá že nemůžete mít na každém listu jiné a stejně pojmenované tlačítko. U tlačítka je to celkem pochopitelné, ale například i jiných ovládacích prvků (seznam ap) jméno jako popisek uživatelé ponechávají implicitní - tedy nejspíš žádné.
Ještě musím dodat že by se měla dát zavolat každá vlastnost (jako property) prakticky čehokoliv stejně jako události (například OnClick). Ale bývá to různým způsobem problematické.
Sub tl(par as variant)
print par.source.accessiblecontext.accessiblename
End Sub
Sub Pom1
iVar1 = iVar1 + 1
HLAVNIMAKRO
End Sub
Sub Pom2
iVar2 = iVar2 + 1
HLAVNIMAKRO
End Sub
'............
Sub PomX
iVarX = iVarX + 1
HLAVNIMAKRO
End Sub
Sub HLAVNIMAKRO
'.................
End Sub
Pokud bude potřeba, mohu dodat později (zítra) příslušný dokument.
]]>