COMO REFERENCIAR OUTRA PLANILHA NUMA MACRO NO LO BASIC?

Olá, boa tarde, me chamo tarcisio. Tou fazendo uma planilha no CALC e, tou encontrando muitas dificuldades, pois so fazia macros no EXCEL.

Segue embaixo uma macro que funciona muito bem. so que ela só insere os dados numa planilha no mesmo documento. " oDoc = ThisComponent"

eu quero tipo nesta macro inserir os dados em um outro arquivo de planilha.
como referenciar outra planilha??
desde já, muito obrigado.

Sub cadastrando

oDoc = ThisComponent
oDados1 = oDoc.Sheets.getByName( “BACKUP” )
oDados = oDoc.Sheets.getByName( “DADOS_HORAS” )
oHome = oDoc.Sheets.getByName( “HOME” )
oCadas = oDoc.Sheets.getByName( “HORAS” )

      Dim lin
      Dim cod
       lin = 1
       cod = 1
       
   Do Until oDados.getCellByPosition(0,lin).String = ""
  lin = lin + 1
  cod = cod + 1
   Loop 
   
          
         
       oDados.getCellByPosition( 0,lin).String = cod
      oDados.getCellByPosition( 1,lin).String = oCadas.getCellRangeByName( "D6").String
      oDados.getCellByPosition( 2,lin).value = oCadas.getCellRangeByName( "F8").value
	  oDados.getCellByPosition( 3,lin).String = oCadas.getCellRangeByName( "H6").String
	  oDados.getCellByPosition( 4,lin).String = oCadas.getCellRangeByName( "D8").String
	 ' oDados.getCellByPosition( 5,lin).String = oCadas.getCellRangeByName( "F8").String
	  oDados.getCellByPosition( 5,lin).String = oCadas.getCellRangeByName( "D10").String 
	 ' oDados.getCellByPosition( 7,lin).String = oCadas.getCellRangeByName( "G10").String                
    ' PESSOA LOGADA  oDados.getCellByPosition( 4,lin).String = oCadas.getCellRangeByName( "C8").String

End Sub

Boa tarde,

Carregue o documento através do método loadComponentFromURL() para depois inserir os dados.

Para abrir é preciso fornecer o caminho completo incluindo seu nome e extensão:

sURL = convertToURL( "D:\Exemplo\Arquivo.ods" ) '<<< Caminho completo + nome + extensão '
oDoc2 = StarDesktop.loadComponentFromURL( sURL, "_blank", 0, Array() )

Mas se preferir, é possível abrir o arquivo de forma oculta:

Dim oProps(0) As New com.sun.star.beans.PropertyValue
oProps(0).Name = "Hidden"
oProps(0).Value = True
  
sURL = convertToURL( "D:\Exemplo\Arquivo.ods" ) '<<< Caminho completo + nome + extensão'
oDoc2 = StarDesktop.loadComponentFromURL( sURL, "_blank", 0, oProps() )

Em seguida, para gravar os dados e fechar utilize:

oDoc2.Store()
oDoc2.Close( True )

Atte,

Muito obrigado!! Funcionou!!!

Outra dúvida, nesta planilha ai, os dados digitados, agora por meio desta macro, estao sendo inseridos em uma outra planilha, porem se duas pessoas salvarem os dados ao mesmo tempo, havera conflito nao e mesmo?
como faço para salvar esses dados digitados na planilha numa tabela do Base?
Preciso primeiramente fazer o Banco de Dados, certo, e depois uma macro para poder salvar os dados.
como fazer esta macro?

@tarcisiopimenta07, maravilha que funcionou! Mas é como vc disse, se dois usuários salvarem os dados ao mesmo tempo, usando a macro, ocorrerá um conflito ou com erro ou com perca de dados. E sim, é preciso primeiro construir o BD no Base para depois acessá-lo com macro. Para essa macro o ideal é você abrir outra questão aqui no Ask. Atte,

Já ia me esquecendo… como esta resposta ajudou, não deixe assinalá-la como ““correta””, clicando na bolinha com o “V” dentro. É uma forma de ajudar outros usuários em futuras pesquisas.

É necessário Macro ?

Referência direta na fórmula não serve ?

Descrição da imagem

Desta maneira quando abrir o arquivo, recebe o alerta se quer atualização.

Descrição da imagem

Para fazer os links, abra os arquivos envolvidos, e no arquivo/célula que busca a informação digite = e vá para o arquivo/célula que fornece a informação, e de enter. Ele carregara o link para o arquivo.

Alerta: se enviar este arquivo, montado com informações de outros, para outra lugar, os links não funcionaram.

serve não… :confused:
necessario a macro