Le fichier est ouvert par un autre utilisateur

3

Aidez-moi à traquer une question.

Ensuite, j'essaie d'ouvrir ou de sauvegarder une feuille de calcul dans Excel, elle affiche toujours une barre d'état de téléchargement sans progression. Après quelques minutes, le fichier s'ouvre ou pas. Jeu de hasard. Quand il ne s’est pas ouvert j’obtiens ce message d’erreur "fichier ouvert par un autre utilisateur" .

Je devrais remarquer que j’ai Windows 7, Office 2007. J’ai essayé de transférer certains fichiers sur un autre ordinateur et au début cela fonctionnait bien, sans aucun problème, mais le même problème subsistait. Ouvre une fenêtre de dialogue avec le message. Cela se produit uniquement sur les fichiers réseau.

Bien sûr, j'ai essayé d'exécuter Excel en mode de sauvegarde et en mode de compatibilité. Mais rien ne change. Donnez-moi s'il vous plaît aucun indice de ce que cela peut être et comment puis-je résoudre ce problème?

Tabbris
la source
Est-ce le programme bureautique qui ouvre la boîte de dialogue, demande d'ouvrir en lecture seule, d'avertir quand c'est gratuit ou de créer une copie locale? Si oui, le problème est différent
Canadian Luke

Réponses:

-2

Essayez de démarrer Excel avec le commutateur / a sur la ligne de commande. Cela peut être dû à des macros ou à des compléments, mais dans ce cas, vous pouvez charger Excel sans ces fichiers de démarrage.

Activez également la case Ignorer les autres applications utilisant la fonctionnalité d'échange dynamique de données. Ouvrez Options Excel, cliquez sur Avancé dans la partie gauche de la boîte de dialogue. Assurez-vous ensuite que DDE est sélectionné.

Ensuite, essayez ce qui suit: ouvrez Outils - Options des dossiers. Dans la liste des types de fichiers, choisissez XLS. Puis cliquez sur le bouton Advanced. Sélectionnez Ouvrir. La zone Application utilisée pour exécuter une action contient la ligne de commande utilisée pour démarrer Excel. Vous devez ajouter dans ce champ un espace suivi de "% 1". Assurez-vous d'inclure les citations. Et désélectionnez Utiliser DDE. C’est tout ce que je peux recommander.

Annigilator
la source
1

J'ai eu le même problème il y a plusieurs années en essayant d'ouvrir un fichier réseau depuis l'étranger. Si quelqu'un l'avait déjà ouvert, Excel essaierait de l'ouvrir plusieurs minutes avant de dire qu'il était utilisé.

J'ai utilisé le code ci-dessous, très similaire au code de Sid ici .

Le code tente d'écrire dans un fichier C; \ mywork.xls (changez votre chemin de fichier en conséquence), s'il y a une erreur, le fichier est déjà ouvert, sinon le fichier est ouvert. La vérification d'erreur se produit immédiatement plutôt qu'avec un retard.

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
brettdj
la source
Pouvez-vous expliquer comment utiliser ce code?
fixer1234
0

Vous pouvez utiliser procéxp pour localiser qui d'autre a ouvert le fichier.

enter image description here

En utilisant PAID (fournir), vous pouvez vérifier quel programme et quel utilisateur l’a ouvert. Pour cette course tasklist.exe dans un surélevé cmd.exe.

(Ceci est utile lorsque le fichier a été ouvert à partir du PC sur lequel vous travaillez. S'il a été ouvert à partir d'un autre PC, exécutez net files sur le serveur qui héberge le partage pour obtenir le PC et l'utilisateur qui l'a ouvert).

marsh-wiggle
la source
Cela n’aidera pas avec le retard initial à essayer d’ouvrir le fichier quand quelqu'un d’autre y a déjà accès.
brettdj
C'est un moyen de vérifier qui a ouvert le fichier. N'est-ce pas la question?
marsh-wiggle
0

Microsoft verrouille les fichiers ouverts à un utilisateur à la fois, afin d'éviter que les modifications apportées ne soient écrasées par un autre utilisateur qui a ouvert le fichier avant que les modifications ne soient enregistrées.

Y a-t-il une raison pour laquelle ce fichier est stocké sur le réseau, pas sur un ordinateur local?

Si vous avez besoin d'ouvrir le fichier, je vous suggère de l'ouvrir en tant que fichier en lecture seule.

Essayez de créer un fichier .bat pour l’ouvrir en lecture seule, ce qui autorise plusieurs utilisateurs.

Assurez-vous d'inclure les guillemets s'il y a des espaces dans le chemin ou le nom du fichier.     "LocalDrive: \ ExcelPath \ excel.exe" / r "NetworkDrive: \ WorkbookPath \ Workbook.xls"

Autre possibilité: utiliser un document HTML pour créer un lien vers le fichier en téléchargement? Cela sauvegardera un fichier temporaire sur votre ordinateur local permettant un accès complet, que vous pourrez ensuite ré-enregistrer sur le lecteur réseau.

<a href="NetworkDrive:/WorkbookPath/Workbook.Xls" download>
User123456798
la source