O arquivo é aberto por outro usuário

3

Ajude-me a procurar uma pergunta.

Então, estou tentando abrir ou salvar uma planilha no excel. Ela sempre mostra uma barra de status de download sem qualquer progresso. Após alguns minutos, o arquivo é aberto ou não. Jogo de azar Quando não abriu, recebi esta mensagem de erro "arquivo aberto por outro usuário" .

Eu devo notar que tenho o windows 7, office 2007. Eu tentei transferir alguns arquivos para outro pc e no começo ele está funcionando bem, sem nenhum problema, mas ainda assim o mesmo problema. Abre uma janela de diálogo com a mensagem. Isso acontece apenas em arquivos de rede.

Claro que tentei executar o Excel em um modo de salvar e no modo de compatibilidade. Mas nada muda. Dê-me por favor qualquer pista, o que pode ser e como posso consertar isso?

    
por Tabbris 25.12.2014 / 12:25

4 respostas

-2

Tente iniciar o excel com a opção / a na linha de comando. Isso pode ser causado por macros ou suplementos, mas nesse caso você pode carregar o Excel sem esses arquivos de inicialização.

Ative também o recurso Ignorar outros aplicativos que usam o Dynamic Data Exchange. Abra as Opções do Excel, clique em Avançado no lado esquerdo da janela de diálogo. Em seguida, verifique se o DDE está selecionado.

Em seguida, tente o seguinte: abra Ferramentas - Opções de pasta. Na lista dos tipos de arquivo, escolha XLS. Em seguida, clique no botão Avançado. Selecione Abrir. A caixa Aplicativo usado para executar a ação contém a linha de comando real usada para iniciar o Excel. Você deve adicionar neste campo um espaço seguido por "% 1". Certifique-se de incluir as cotações. E desmarque a opção Usar DDE. Isso é tudo que posso recomendar.

    
por 26.12.2014 / 19:30
1

Eu tive o mesmo problema há vários anos tentando abrir um arquivo de rede do exterior. Se alguém já o tivesse aberto, o Excel tentaria abri-lo por vários minutos antes de dizer que estava em uso.

Eu usei o código abaixo, muito semelhante ao código do Sid aqui .

O código tenta gravar em um arquivo C; \ mywork.xls (mude o caminho do arquivo para se adequar), se houver um erro, o arquivo já está aberto, senão o arquivo é aberto. A verificação de erro ocorre imediatamente, e não com um intervalo de tempo.

Sub Sample()
    Dim Ret
    Dim Wb As Workbook
    Dim strFile As String
    styrfile = "C:\myWork.xlsx"
    Ret = IsWorkBookOpen(strFile)
    If Ret = True Then
        MsgBox "File is open"
    Else
        Set Wb = Workbooks.Open(strFile)
    End If
End Sub

Function IsWorkBookOpen(FileName As String)
    Dim ff As Long, ErrNo As Long

    On Error Resume Next
    ff = FreeFile()
    Open FileName For Input Lock Read As #ff
    Close ff
    ErrNo = Err
    On Error GoTo 0

    Select Case ErrNo
    Case 0:    IsWorkBookOpen = False
    Case 70:   IsWorkBookOpen = True
    Case Else: Error ErrNo
    End Select
End Function
    
por 25.12.2014 / 13:28
0

Você pode usar procexp para rastrear quem mais abriu o arquivo.

Usando o PID (procid), você pode verificar o que o programa e o usuário o abriram. Para essa execução tasklist.exe em um cmd.exe elevado.

(Isso é útil quando o arquivo foi aberto a partir do PC em que você trabalha. Se ele tiver sido aberto em outro computador, execute net files no servidor que hospeda o compartilhamento para obter o PC e o usuário que abriu isso.

    
por 25.12.2014 / 12:55
0

A Microsoft bloqueia a abertura de arquivos para 1 usuário por vez, para evitar que as alterações feitas sejam substituídas por outro usuário que tenha o arquivo aberto antes que as alterações sejam salvas.

Existe algum motivo para esse arquivo estar armazenado na rede, não no computador local?

Se você precisar abrir o arquivo, sugiro abri-lo como um arquivo somente leitura

Tente criar um arquivo .bat para abrir o arquivo como somente leitura, o que permite vários usuários.

Certifique-se de incluir as marcas de aspas se houver algum espaço no caminho ou nome do arquivo.     "LocalDrive: \ ExcelPath \ excel.exe" / d "NetworkDrive: \ WorkbookPath \ Workbook.xls"

Alternativamente - Use um documento HTML para vincular ao arquivo como um download? Isso salvará um arquivo temporário em sua máquina local, permitindo acesso total, que você pode então re-atualizar para a unidade de rede.

<a href="NetworkDrive:/WorkbookPath/Workbook.Xls" download>
    
por 26.12.2014 / 05:35