No meu tem uma janela chamada "controle de formulários" com um item "campo de padrão" onde eu posso digitar um texto, tem como eu criar uma macro onde este texto é copiado para uma célula? ou há outra forma de fazer isso?
Olá, obrigado por assistir e comentar no meu vídeo "Formulário de dados para alimentar uma planilha - LibreOffice Calc". Sim, é possível criar uma macro no LibreOffice Basic para copiar o texto digitado no campo "Campo de padrão" do formulário para uma célula específica na planilha. Siga estos passos: 1. Certifique-se de ter o formulário aberto na planilha e o campo "Campo de padrão" visível. 2. Pressione Alt+F11 para abrir a janela do LibreOffice Basic. 3. Na janela do Basic, clique com o botão direito em "Bibliotecas de Módulos" e selecione "Inserir" > "Módulo". 4. Dê um nome ao novo módulo, por exemplo "ModuloCopiarTexto". 5. No editor de código, insira o seguinte código: ```vb Sub CopiarTextoFormulario() Dim oForm As Object Dim oCelula As Object oForm = ThisComponent.DrawPages(0).Forms(0).getByName("CampoPadrao") oCelula = ThisComponent.Sheets(0).getCellByPosition(0, 0) oCelula.String = oForm.Text End Sub ``` 6. Salve o módulo. 7. De volta à planilha, crie um botão de controle no formulário. 8. Clique com o botão direito sobre o botão e escolha "Atribuir macro". 9. Selecione o módulo e a sub-rotina "CopiarTextoFormulario" que você acabou de criar. 10. Clique em OK. Agora, quando digitar um texto no "Campo de padrão" e clicar no botão, o texto será copiado para a célula A1 da planilha. Você pode modificar o código para copiar para uma célula diferente, alterando os valores na linha: `oCelula = ThisComponent.Sheets(0).getCellByPosition(COLUNA, LINHA)` Lembre-se de substituir COLUNA e LINHA pelos valores numéricos da célula desejada. Espero que isso ajude! Caso tenha mais dúvidas, não hesite em perguntar.
Simples e útil.
Essa é a intenção!
Espero ter ajudado 😊.
No meu tem uma janela chamada "controle de formulários" com um item "campo de padrão" onde eu posso digitar um texto, tem como eu criar uma macro onde este texto é copiado para uma célula? ou há outra forma de fazer isso?
Olá, obrigado por assistir e comentar no meu vídeo "Formulário de dados para alimentar uma planilha - LibreOffice Calc".
Sim, é possível criar uma macro no LibreOffice Basic para copiar o texto digitado no campo "Campo de padrão" do formulário para uma célula específica na planilha.
Siga estos passos:
1. Certifique-se de ter o formulário aberto na planilha e o campo "Campo de padrão" visível.
2. Pressione Alt+F11 para abrir a janela do LibreOffice Basic.
3. Na janela do Basic, clique com o botão direito em "Bibliotecas de Módulos" e selecione "Inserir" > "Módulo".
4. Dê um nome ao novo módulo, por exemplo "ModuloCopiarTexto".
5. No editor de código, insira o seguinte código:
```vb
Sub CopiarTextoFormulario()
Dim oForm As Object
Dim oCelula As Object
oForm = ThisComponent.DrawPages(0).Forms(0).getByName("CampoPadrao")
oCelula = ThisComponent.Sheets(0).getCellByPosition(0, 0)
oCelula.String = oForm.Text
End Sub
```
6. Salve o módulo.
7. De volta à planilha, crie um botão de controle no formulário.
8. Clique com o botão direito sobre o botão e escolha "Atribuir macro".
9. Selecione o módulo e a sub-rotina "CopiarTextoFormulario" que você acabou de criar.
10. Clique em OK.
Agora, quando digitar um texto no "Campo de padrão" e clicar no botão, o texto será copiado para a célula A1 da planilha.
Você pode modificar o código para copiar para uma célula diferente, alterando os valores na linha:
`oCelula = ThisComponent.Sheets(0).getCellByPosition(COLUNA, LINHA)`
Lembre-se de substituir COLUNA e LINHA pelos valores numéricos da célula desejada.
Espero que isso ajude! Caso tenha mais dúvidas, não hesite em perguntar.