Je souhaite tester si fichier est ouvert ou non pour mon application active
à partir de VB.
Par exemple, à partir d'une macro VB dans MSProject, j'ai besoin d'accéder à
une information dans les propriétés d'un fichier. Si le fichier n'est pas
ouvert ma commande ne me remonte rien. Donc avant d'exceter ma commande je
souhaite contrôler que le fichier est bien ouvert, sinon je peux l'ouvrir.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Roger Renaud
Deux facons de faire :
1. Utiliser la fonction DIR 2. Utiliser la classe FSO avec la méthode FileExists. Il faudra cependant ajouter au projet la référence Microsoft Scripting Runtime.
Private Function FichierExiste(ByVal NomFichier As String) As Boolean
Dim fsoFichier As New FileSystemObject
'La méthode FileExists prend par défaut le répertoire courant
sinon inclure tout le chemin au paramètre
If fsoFichier.FileExists(NomFichier) Then
FichierExiste = True
Else
FichierExiste = False
End If
End Function
RR
"Laurent Stern" a écrit dans le message de news:
Bonjour
Je souhaite tester si fichier est ouvert ou non pour mon application
active
à partir de VB.
Par exemple, à partir d'une macro VB dans MSProject, j'ai besoin d'accéder
à
une information dans les propriétés d'un fichier. Si le fichier n'est pas ouvert ma commande ne me remonte rien. Donc avant d'exceter ma commande je souhaite contrôler que le fichier est bien ouvert, sinon je peux l'ouvrir.
Merci
Laurent
Deux facons de faire :
1. Utiliser la fonction DIR
2. Utiliser la classe FSO avec la méthode FileExists. Il faudra cependant
ajouter au projet la référence Microsoft Scripting Runtime.
Private Function FichierExiste(ByVal NomFichier As String) As Boolean
Dim fsoFichier As New FileSystemObject
'La méthode FileExists prend par défaut le répertoire courant
sinon inclure tout le chemin au paramètre
If fsoFichier.FileExists(NomFichier) Then
FichierExiste = True
Else
FichierExiste = False
End If
End Function
RR
"Laurent Stern" <lstern@_REMOVE_capgemini.fr> a écrit dans le message de
news:uFPpYfR0DHA.2156@TK2MSFTNGP12.phx.gbl...
Bonjour
Je souhaite tester si fichier est ouvert ou non pour mon application
active
à partir de VB.
Par exemple, à partir d'une macro VB dans MSProject, j'ai besoin d'accéder
à
une information dans les propriétés d'un fichier. Si le fichier n'est pas
ouvert ma commande ne me remonte rien. Donc avant d'exceter ma commande je
souhaite contrôler que le fichier est bien ouvert, sinon je peux l'ouvrir.
1. Utiliser la fonction DIR 2. Utiliser la classe FSO avec la méthode FileExists. Il faudra cependant ajouter au projet la référence Microsoft Scripting Runtime.
Private Function FichierExiste(ByVal NomFichier As String) As Boolean
Dim fsoFichier As New FileSystemObject
'La méthode FileExists prend par défaut le répertoire courant
sinon inclure tout le chemin au paramètre
If fsoFichier.FileExists(NomFichier) Then
FichierExiste = True
Else
FichierExiste = False
End If
End Function
RR
"Laurent Stern" a écrit dans le message de news:
Bonjour
Je souhaite tester si fichier est ouvert ou non pour mon application
active
à partir de VB.
Par exemple, à partir d'une macro VB dans MSProject, j'ai besoin d'accéder
à
une information dans les propriétés d'un fichier. Si le fichier n'est pas ouvert ma commande ne me remonte rien. Donc avant d'exceter ma commande je souhaite contrôler que le fichier est bien ouvert, sinon je peux l'ouvrir.
Merci
Laurent
ng
Bonjour,
Le FSO est a bannir de vos applications VB6 : http://faq.vb.free.fr/index.php?question6
Nicolas. -- http://www.ngsoft-fr.com "Roger Renaud" a écrit dans le message de news: l3hJb.55400$
Deux facons de faire :
1. Utiliser la fonction DIR 2. Utiliser la classe FSO avec la méthode FileExists. Il faudra cependant ajouter au projet la référence Microsoft Scripting Runtime.
Private Function FichierExiste(ByVal NomFichier As String) As Boolean
Dim fsoFichier As New FileSystemObject
'La méthode FileExists prend par défaut le répertoire courant
sinon inclure tout le chemin au paramètre
If fsoFichier.FileExists(NomFichier) Then
FichierExiste = True
Else
FichierExiste = False
End If
End Function
RR
"Laurent Stern" a écrit dans le message de news: > Bonjour > > Je souhaite tester si fichier est ouvert ou non pour mon application active > à partir de VB. > > Par exemple, à partir d'une macro VB dans MSProject, j'ai besoin
d'accéder
à > une information dans les propriétés d'un fichier. Si le fichier n'est
pas
> ouvert ma commande ne me remonte rien. Donc avant d'exceter ma commande
je
> souhaite contrôler que le fichier est bien ouvert, sinon je peux
l'ouvrir.
> > Merci > > Laurent > >
Bonjour,
Le FSO est a bannir de vos applications VB6 :
http://faq.vb.free.fr/index.php?question6
Nicolas.
--
http://www.ngsoft-fr.com
"Roger Renaud" <roger.renaud@videotron.ca> a écrit dans le message de news:
l3hJb.55400$696.715806@weber.videotron.net...
Deux facons de faire :
1. Utiliser la fonction DIR
2. Utiliser la classe FSO avec la méthode FileExists. Il faudra cependant
ajouter au projet la référence Microsoft Scripting Runtime.
Private Function FichierExiste(ByVal NomFichier As String) As Boolean
Dim fsoFichier As New FileSystemObject
'La méthode FileExists prend par défaut le répertoire courant
sinon inclure tout le chemin au paramètre
If fsoFichier.FileExists(NomFichier) Then
FichierExiste = True
Else
FichierExiste = False
End If
End Function
RR
"Laurent Stern" <lstern@_REMOVE_capgemini.fr> a écrit dans le message de
news:uFPpYfR0DHA.2156@TK2MSFTNGP12.phx.gbl...
> Bonjour
>
> Je souhaite tester si fichier est ouvert ou non pour mon application
active
> à partir de VB.
>
> Par exemple, à partir d'une macro VB dans MSProject, j'ai besoin
d'accéder
à
> une information dans les propriétés d'un fichier. Si le fichier n'est
pas
> ouvert ma commande ne me remonte rien. Donc avant d'exceter ma commande
je
> souhaite contrôler que le fichier est bien ouvert, sinon je peux
Le FSO est a bannir de vos applications VB6 : http://faq.vb.free.fr/index.php?question6
Nicolas. -- http://www.ngsoft-fr.com "Roger Renaud" a écrit dans le message de news: l3hJb.55400$
Deux facons de faire :
1. Utiliser la fonction DIR 2. Utiliser la classe FSO avec la méthode FileExists. Il faudra cependant ajouter au projet la référence Microsoft Scripting Runtime.
Private Function FichierExiste(ByVal NomFichier As String) As Boolean
Dim fsoFichier As New FileSystemObject
'La méthode FileExists prend par défaut le répertoire courant
sinon inclure tout le chemin au paramètre
If fsoFichier.FileExists(NomFichier) Then
FichierExiste = True
Else
FichierExiste = False
End If
End Function
RR
"Laurent Stern" a écrit dans le message de news: > Bonjour > > Je souhaite tester si fichier est ouvert ou non pour mon application active > à partir de VB. > > Par exemple, à partir d'une macro VB dans MSProject, j'ai besoin
d'accéder
à > une information dans les propriétés d'un fichier. Si le fichier n'est
pas
> ouvert ma commande ne me remonte rien. Donc avant d'exceter ma commande
je
> souhaite contrôler que le fichier est bien ouvert, sinon je peux
l'ouvrir.
> > Merci > > Laurent > >
ng
Salut,
Pour savoir si un fichier est ouvert, il suffirait de l'ouvrir et de catcher l'erreur.
Voir Open dans l'aide VB6.
Nicolas. -- http://www.ngsoft-fr.com "Laurent Stern" a écrit dans le message de news:
Bonjour
Je souhaite tester si fichier est ouvert ou non pour mon application
active
à partir de VB.
Par exemple, à partir d'une macro VB dans MSProject, j'ai besoin d'accéder
à
une information dans les propriétés d'un fichier. Si le fichier n'est pas ouvert ma commande ne me remonte rien. Donc avant d'exceter ma commande je souhaite contrôler que le fichier est bien ouvert, sinon je peux l'ouvrir.
Merci
Laurent
Salut,
Pour savoir si un fichier est ouvert, il suffirait de l'ouvrir et de catcher
l'erreur.
Voir Open dans l'aide VB6.
Nicolas.
--
http://www.ngsoft-fr.com
"Laurent Stern" <lstern@_REMOVE_capgemini.fr> a écrit dans le message de
news: uFPpYfR0DHA.2156@TK2MSFTNGP12.phx.gbl...
Bonjour
Je souhaite tester si fichier est ouvert ou non pour mon application
active
à partir de VB.
Par exemple, à partir d'une macro VB dans MSProject, j'ai besoin d'accéder
à
une information dans les propriétés d'un fichier. Si le fichier n'est pas
ouvert ma commande ne me remonte rien. Donc avant d'exceter ma commande je
souhaite contrôler que le fichier est bien ouvert, sinon je peux l'ouvrir.
Pour savoir si un fichier est ouvert, il suffirait de l'ouvrir et de catcher l'erreur.
Voir Open dans l'aide VB6.
Nicolas. -- http://www.ngsoft-fr.com "Laurent Stern" a écrit dans le message de news:
Bonjour
Je souhaite tester si fichier est ouvert ou non pour mon application
active
à partir de VB.
Par exemple, à partir d'une macro VB dans MSProject, j'ai besoin d'accéder
à
une information dans les propriétés d'un fichier. Si le fichier n'est pas ouvert ma commande ne me remonte rien. Donc avant d'exceter ma commande je souhaite contrôler que le fichier est bien ouvert, sinon je peux l'ouvrir.
Merci
Laurent
Zoury
Salut Laurent! :O)
voici un exemple de la solution proposée par Nicolas.
'*** Option Explicit
Private Sub Main() Debug.Print IsFileOpen("C:wks.xls") End Sub
Private Function IsFileOpen(ByRef sFile As String) As Boolean
Dim hFile As Long
On Error GoTo ErrHandler
hFile = FreeFile Open sFile For Input Lock Read As #hFile Close #hFile
Exit Function
ErrHandler: IsFileOpen = (Err.Number = 70) ' Permission denied End Function '***
Le problème c'est que cette solution ne fonctionne pas avec tout les types d'extension, car selon le type d'extension et le logiciel qui les exploite, il est possible qu'il soit impossible de détecté si un fichier est ouvert ou pas..
Merci de poster les réponses au groupe afin d'en faire profiter à tous
"Laurent Stern" wrote in message news:
Bonjour
Je souhaite tester si fichier est ouvert ou non pour mon application
active
à partir de VB.
Par exemple, à partir d'une macro VB dans MSProject, j'ai besoin d'accéder
à
une information dans les propriétés d'un fichier. Si le fichier n'est pas ouvert ma commande ne me remonte rien. Donc avant d'exceter ma commande je souhaite contrôler que le fichier est bien ouvert, sinon je peux l'ouvrir.
Merci
Laurent
Salut Laurent! :O)
voici un exemple de la solution proposée par Nicolas.
'***
Option Explicit
Private Sub Main()
Debug.Print IsFileOpen("C:wks.xls")
End Sub
Private Function IsFileOpen(ByRef sFile As String) As Boolean
Dim hFile As Long
On Error GoTo ErrHandler
hFile = FreeFile
Open sFile For Input Lock Read As #hFile
Close #hFile
Exit Function
ErrHandler:
IsFileOpen = (Err.Number = 70) ' Permission denied
End Function
'***
Le problème c'est que cette solution ne fonctionne pas avec tout les types
d'extension, car selon le type d'extension et le logiciel qui les exploite,
il est possible qu'il soit impossible de détecté si un fichier est ouvert ou
pas..
Merci de poster les réponses au groupe afin d'en faire profiter à tous
"Laurent Stern" <lstern@_REMOVE_capgemini.fr> wrote in message
news:uFPpYfR0DHA.2156@TK2MSFTNGP12.phx.gbl...
Bonjour
Je souhaite tester si fichier est ouvert ou non pour mon application
active
à partir de VB.
Par exemple, à partir d'une macro VB dans MSProject, j'ai besoin d'accéder
à
une information dans les propriétés d'un fichier. Si le fichier n'est pas
ouvert ma commande ne me remonte rien. Donc avant d'exceter ma commande je
souhaite contrôler que le fichier est bien ouvert, sinon je peux l'ouvrir.
voici un exemple de la solution proposée par Nicolas.
'*** Option Explicit
Private Sub Main() Debug.Print IsFileOpen("C:wks.xls") End Sub
Private Function IsFileOpen(ByRef sFile As String) As Boolean
Dim hFile As Long
On Error GoTo ErrHandler
hFile = FreeFile Open sFile For Input Lock Read As #hFile Close #hFile
Exit Function
ErrHandler: IsFileOpen = (Err.Number = 70) ' Permission denied End Function '***
Le problème c'est que cette solution ne fonctionne pas avec tout les types d'extension, car selon le type d'extension et le logiciel qui les exploite, il est possible qu'il soit impossible de détecté si un fichier est ouvert ou pas..
Merci de poster les réponses au groupe afin d'en faire profiter à tous
"Laurent Stern" wrote in message news:
Bonjour
Je souhaite tester si fichier est ouvert ou non pour mon application
active
à partir de VB.
Par exemple, à partir d'une macro VB dans MSProject, j'ai besoin d'accéder
à
une information dans les propriétés d'un fichier. Si le fichier n'est pas ouvert ma commande ne me remonte rien. Donc avant d'exceter ma commande je souhaite contrôler que le fichier est bien ouvert, sinon je peux l'ouvrir.