Acho que tenho algo aqui, mas é necessário fazer uns testes, pois na distro Linux que uso, a operação não é suportada.
Sub ValidarUsuario()
Dim oDocExterno As Object ' arquivo externo
Dim oPlanCad As Object ' aba em arquivo externo
Dim sDir As String ' caminho
Dim sFileName As String ' nome do arquivo externo
Dim s As String ' varíavel de trabalho
Dim args(0) As New com.sun.star.beans.PropertyValue
REM Define diretório padrão onde é armazenado o arquivo
REM Pode ser feito assim ou você pode já indicar o caminho completo
REM direto na variável
REM Linux - sFileName = /home/leomar/Downloads/NomeDoArquivoComExtensao
REM Windows - sFileName = C:\Downloads\NomeDoArquivoComExtensao
Select Case GetGuiType()
Case 1 : sDir = Environ("HOMEPATH") & GetPathSeparator() & "Downloads"
Case 4 : sDir = Environ("HOME") & GetPathSeparator() & "Downloads"
End Select
sFileName = "Ask_cadastro-externo.ods"
REM Constroi Url
s = ConvertToUrl( sDir & GetPathSeparator() & sFileName )
REM Certifica de que arquivo exista
If Not FileExists(s) Then
MsgBox("Arquivo " & sFileName & " não está na pasta.", MB_ICONEXCLAMATION, "Erro")
Stop
End If
REM Argumento para abrir arquivo em 2º plano
args(0).Name = "Hidden" : args(0).Value = False
oDocExterno = starDesktop.loadComponentFromUrl( sFileName, "_default", 0, args() )
stop
REM Acessa planilha do arquivo em 2º plano
oPlanCad = oDocExterno.Sheets.getByName("Planilha1")
'''
' SEU CÓDIGO É VALIDAÇÕES AQUI
'''
REM fecha o documento em 2º plano
oDocExterno.close(True)
End Sub
.
Não ajustei o código. Apenas inseri trecho acima com algumas adaptações (TESTAR).
.
Seu arquivo com trecho:
Ask_Teste-Login.ods (28,3,KB)
.
Arquivo externo com cadastro de usuários:
Ask_cadastro-externo.ods (19,4,KB)