Depoisteconto, vamos por parte:
Quanto ao erro:
Testei o código sugerido deu erro With Application.FileSearch "O objeto não aceita essa ação."
Não sei qual versão está utilizando, então faça o seguinte:
No menu projeto , clique em referências e adicione a referência ao Microsoft Scripting Runtime.
Veja mais em:
Informações sobre a classe FileSystemObject
http://support.microsoft.com/kb/185601
Quanto ao solicitado:
Como seria uma pesquisa por aproximação?
Por exemplo:
No diretório o arquivo de chama "Planilhando".
Gostaria de encontrá-lo mesmo se o meu parametro da consulta for "Planilhan".
A Rotina que passei faz exatamente isto, veja que deixei desabilitada a instrução que abre o arquivo se for encontrado, é só habilita-la, mas se pretende utilizar o comando Shell, troque esta instrução pela sua.
Quanto a string sfile, como adaptei de outras rotina que eu tinha ela acabou sem efeito, pode apaga-la.
Esta é a parte que eu não havia entendido:
Vou pesquisar pelo comando Shell do VBA
Voce diz pesquisar e não abrir o arquivo pelo comando Shell.
Uma outra opção de rotina sem Application.FileSearch seria:
Sub VerificaArquivoAbre()
Dim FileName As String
Dim Path As String
Dim sPath As String
Dim meuArqu As String
Path = "C:SeuDiretorio"
sPath = Path
meuArqu = "Planilhan*" 'Nome Arquivo
'VERIFICA SE O CAMINHO EXISTE
If Not Dir(sPath, vbDirectory) = vbNullString Then
'SE EXISTIR
'adiciona a barra, se não houver
If Right(sPath, 1) <> "" Then sPath = sPath & ""
'monta o caminho completo do arquivo
FileName = Dir(sPath & meuArqu)
Else
MsgBox "O CAMINHO :" & Chr(13) & sPath & Chr(13) & "NÃO EXISTE"
Exit Sub
End If
'VERIFICA SE O ARQUIVO EXISTE
If FileName = "planilhando.xls" Then
'SE EXISTIR, Coloque aqui sua chamada para abrir o arquivo
MsgBox "OK, Arquivo encontrado"
Workbooks.Open FileName:=sPath & FileName
Exit Sub
Else
MsgBox "O Arquivo:" & Chr(13) & meuArqu & Chr(13) & "NÃO existe !!!"
End If
End Sub
Quanto ao aplicativo visivel ou não, isto não interfere na rotina, e você não havia citado formulário, em criar uma nova instância do excel, e isto já seria outra situação, que não foi solicitada neste tópico.
De uma olhada no tópico abaixo quanto a criar instância do excel :
Abrir o Excel em uma nova instância no Win 7
http://www.tomasvasquez.com.br/forum/vi ... ncia#p7467
Excel – Abrindos arquivos em uma nova instância do Excel
http://www.tomasvasquez.com.br/blog/mic ... a-do-excel
[]s
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 14/07/2014 8:54 am