CurrentController para controles da caixa de dialog

Preciso saber o nome do controle ativo. Por exemplo:

Tenho um controle com nome “TextField1” num formulário qualquer, gostaria que quando esse controle recebesse o foco a variável “nomecontrole” armazenasse o nome do controle “TextField1”.

Sei que para saber o nome de um controle basta utilizar o comando: nome do formulário.Model.nomedocontrole.Name conforme exemplo: Dialog1.Model.TextField1.Name.

No excel usa-se o comando abaixo:

Screen.ActiveControl.Name

Aqui está

Sub YourMacro(oEvent as object)
Dim CtrlName as String
CtrlName = oEvent.Source.Model.Name
Print "Calling control is named: """ & CtrlName & """"
end sub

Fantástico, muito obrigado Gilberto, esse comando vai me abrir um leque de opções.

Ola @JúnioVieira , a resposta foi do @rogerlegal, eu só formatei a resposta.

Poxa, fiquei tão feliz que nem prestei atenção, muito obrigado @rogerlegal, já estava com mais de um ano que aguardava essa resposta, agora terei um maior controle em meus formulários.

Segue @JúnioVieira

Só não coloque ao pegar foco, pois vai entrar em loop infinito.

Sub PegarNomeControle
    
    Dim txtField as Object
    Dim txtFieldName as String
    
    txtField = Dialog1.GetControl("txtField1")
    txtFieldName = txtField.Model.Name
    
    MsgBox txtFieldName
    
End Sub

Agradeço sua resposta @Conras, mas como expliquei na pergunta esse comando de pegar o nome do controle já conheço, a questão é como saber o nome do controle que está com foco, ou seja, não sei o nome do controle, quero capturar o nome do controle ativo.

Neste caso não deveria utilizar CurrentContoller?

@Conras o CurrentController utilizo para ThisComponent, preciso de um comando similar a ele, porém para formulário.