Aconteceu o mesmo comigo, mas uso C#.NET
procure no VB, ou na help do MSDN alguma função que tenha o mesmo papel de abrir o arquivo tipo um CanOpen, ou entao um CanDelete, CanWrite, sei la...
de qquer forma segue meu codigo abaixo:
public static Boolean podeAbrirArquivo(String sPath)
{
Boolean bAbriu = false;
Int32 i = 0;
while (!bAbriu && i < 100000)
{
try
{
i++;
FileStream fs = System.IO.File.Open(sPath, FileMode.Open, FileAccess.Read, FileShare.None);
fs.Flush();
fs.Dispose();
fs.Close();
bAbriu = true;
}
catch
{
}
}
return bAbriu;
}
perceba que depois que o meu programa consegue abrir o arquivo ele fecha ele dando um flush, e ai eu tenho CERTEZA que posso usar o arquivo