Word 2007 Vba - Vá para o espaço reservado via macro
-
28-09-2019 - |
Pergunta
Ok, estou constantemente lutando com a Microsoft enquanto crio vários modelos para alguns clientes.Meu problema é este: espaços reservados de caixa de texto simples espalhados por todo um documento me permitem pressionar TAB para ir para o próximo espaço reservado.Muito parecido com a ordem de guias no Visual Studio.Mas, por alguma razão estranha, isso não funciona com espaços reservados para rich textbox.E preciso usar rich text para algumas caixas de texto porque o usuário deve ter permissão para alterar a formatação de caracteres únicos.Isso não é possível com caixas de texto simples.
Então eu estava pensando, isso seria possível usando macros?Por exemplo, se um espaço reservado para caixa de texto for selecionado e a macro for executada, vá para o próximo espaço reservado?
Solução
Os objetos Shape/TextBox podem ser acessados através
ThisDocument.Shapes.Item(index)
e verificando o objeto Shape retornado para
theShape.Type = msoTextBox
No entanto, os objetos Shape serão retornados na ordem em que foram criados, e não na ordem na página/documento.Para encontrar o 'próximo' TextBox, você provavelmente terá que percorrer todos os TextBoxes e investigar sua localização (.Top, .Left etc.) para encontrar o correto para onde ir:
theNextShape.Select