Pergunte aqui
0

Vincular dados data de um campo de data via macro

perguntadas 2019-11-20 13:44:13 +0100

imagem do gravatar de Carlos Sequeira

updated 2019-11-25 13:13:57 +0100

.

Sub TextoModificado( oEvento )
Dim oCampoData As Object, oDoc As Object
Dim oPlan As Object, oCel As Object
Dim sData As String

   ' Obter o Campo de Data 
    oCampoData = oEvento.Source.Model
    ' Obter a Célula A1
    oDoc = oCampoData.Parent.Parent.Parent
    oPlan = oDoc.Sheets.getByName("Planilha1")
    oCel = oPlan.getCellRangeByName("A1")

    ' Pegar a data selecionada no controle
    With oCampoData.Date
    sData = .Day & "/" & .Month & "/" & .Year 
    End With

    ' Inserir a data como string(texto) na célula
    oCel.String = sData

End Sub

Ola, boa tarde. Usei o código em cima, que vi em outro post, e funciona uma parte e outra parte não funciona. Quando selecciono a data ou "hoje", está tudo certo. O problema é quando quero limpar o campo ou selecionar "nenhum".

Dá erro dizendo que:

"sData = .Day & "/" & .Month & "/" & .Year -> Variável de objeto não definida."

Alguém consegue ajudar?

Já agora, como limpar a informação deste campo através de macro?

editar alterar tag assinalar como ofensivo fechar mesclar Excluir

Comentários

Ola @Carlos Sequeira, seja bem vindo ao Grupo.

Desculpe, não entendi a necessidade, de um exemplo: O que vai digitar e como tem que ficar ?

-----------------------------------------------------------------------------

ATENÇÂO:: Para dar mais detalhes a sua pergunta, use Descrição da imagem na pergunta ou Descrição da imagem abaixo. Não use Adicionar resposta para comentário. Grato.

imagem do gravatar de SchiavinattoSchiavinatto ( 2019-11-20 14:38:21 +0100 )editar

Bom Dia, Obrigado pelas boas vindas!

Estou tentando usar um campo de data, usei esse código aqui: Vincular texto.

1 - No entanto, está dando o erro acima quando clico em "nenhum" do campo de data, ou quando faço delete da informação do campo de data.

2 - Preciso também de eliminar a informação desse campo através de macro, como faço?

Gostava de enviar o exemplo para vc verificar. Não sei como anexar aqui.

imagem do gravatar de Carlos SequeiraCarlos Sequeira ( 2019-11-21 10:48:38 +0100 )editar
imagem do gravatar de SchiavinattoSchiavinatto ( 2019-11-24 13:48:05 +0100 )editar

1 Resposta

0

respondidas 2019-11-25 13:01:12 +0100

updated 2019-11-25 13:05:12 +0100

Ola @Carlos Sequeira, encontrei a solução no livro de Cleuton Sampaio ( Criando Macros no BrOffice Calc, pg.104 - Ed. Brasport / 2010 )

Complementação em macro do @Grafeno: https://ask.libreoffice.org/pt-br/que...

Sub TextoModificado( oEvento )
Dim oCampoData As Object, oDoc As Object
Dim oPlan As Object, oCel As Object
Dim sData As String

   ' Obter o Campo de Data 
    oCampoData = oEvento.Source.Model
    ' Obter a Célula A1
    oDoc = oCampoData.Parent.Parent.Parent
    oPlan = oDoc.Sheets.getByName("Sheet1")
    oCel = oPlan.getCellRangeByName("A1")

    ' Pegar a data selecionada no controle
    With oCampoData.Date

On Error Resume Next   'acrescentei esta linha ( O Basic desliga a tratamento de erro, se der erro, não saberá, o processamento continua )

    sData = .Day & "/" & .Month & "/" & .Year 
    End With

    ' Inserir a data como string(texto) na célula
    oCel.String = sData

End Sub

-----------------------------------------------------------------------------

ATENÇÂO:: Para dar mais detalhes a sua pergunta, use Descrição da imagem na pergunta ou Descrição da imagem abaixo. Não use Adicionar resposta para comentário. Grato.

Caso a resposta atendeu sua necessidade, por gentileza, click na bolinha Descrição da imagem a esquerda da resposta, para finalizar a pergunta.

editar assinalar como ofensivo Excluir Link mais
Login/Registrar para responder

Ferramentas de perguntas

1 seguidor

Estatísticas

Perguntadas: 2019-11-20 13:44:13 +0100

Lidas: 30 vezes

Última atualização: Nov 25