Bonjour,
J’ai besoin d’aide pour trouver comment lire des propriétés personnalisées
d’un document non ouvert. Je ne peux pas ouvrir les documents car sous les
répertoires il y a des fichiers PowerPoint, des fichiers Word et des fichiers
Excel.
J’ai trouvé la possibilité de lire quelques propriétés prédéfinies :
Sub AfficheInfoAccesFichier2()
Dim fs, f, s
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFile(specfichier)
s = f.Name & vbCrLf
s = s & "Créée le : " & f.DateCreated & vbCrLf
s = s & "Dernier accès le : " & f.DateLastAccessed & vbCrLf
s = s & "Dernière modification le : " & f.DateLastModified & vbCrLf
s = s & "type :" & f.Type
MsgBox s, 0, "Infos d'accès au fichier"
End Sub
Mais impossible de trouver le code pour les propriétés personnalisées !
Je pourrais m’en sortir si je savais lire de la même façon le nom du modèle,
qui est une propriété prédéfinie.
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
Daniel.C
Bonjour. Regarde l'aide VBA sur : CustomDocumentProperties Cordialement. Daniel
Bonjour, J’ai besoin d’aide pour trouver comment lire des propriétés personnalisées d’un document non ouvert. Je ne peux pas ouvrir les documents car sous les répertoires il y a des fichiers PowerPoint, des fichiers Word et des fichiers Excel. J’ai trouvé la possibilité de lire quelques propriétés prédéfinies : Sub AfficheInfoAccesFichier2() Dim fs, f, s Set fs = CreateObject("Scripting.FileSystemObject") Set f = fs.GetFile(specfichier) s = f.Name & vbCrLf s = s & "Créée le : " & f.DateCreated & vbCrLf s = s & "Dernier accès le : " & f.DateLastAccessed & vbCrLf s = s & "Dernière modification le : " & f.DateLastModified & vbCrLf s = s & "type :" & f.Type MsgBox s, 0, "Infos d'accès au fichier" End Sub Mais impossible de trouver le code pour les propriétés personnalisées !
Je pourrais m’en sortir si je savais lire de la même façon le nom du modèle, qui est une propriété prédéfinie.
Merci à tous.
Bonjour.
Regarde l'aide VBA sur :
CustomDocumentProperties
Cordialement.
Daniel
Bonjour,
J’ai besoin d’aide pour trouver comment lire des propriétés personnalisées
d’un document non ouvert. Je ne peux pas ouvrir les documents car sous les
répertoires il y a des fichiers PowerPoint, des fichiers Word et des fichiers
Excel.
J’ai trouvé la possibilité de lire quelques propriétés prédéfinies :
Sub AfficheInfoAccesFichier2()
Dim fs, f, s
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFile(specfichier)
s = f.Name & vbCrLf
s = s & "Créée le : " & f.DateCreated & vbCrLf
s = s & "Dernier accès le : " & f.DateLastAccessed & vbCrLf
s = s & "Dernière modification le : " & f.DateLastModified & vbCrLf
s = s & "type :" & f.Type
MsgBox s, 0, "Infos d'accès au fichier"
End Sub
Mais impossible de trouver le code pour les propriétés personnalisées !
Je pourrais m’en sortir si je savais lire de la même façon le nom du modèle,
qui est une propriété prédéfinie.
Bonjour. Regarde l'aide VBA sur : CustomDocumentProperties Cordialement. Daniel
Bonjour, J’ai besoin d’aide pour trouver comment lire des propriétés personnalisées d’un document non ouvert. Je ne peux pas ouvrir les documents car sous les répertoires il y a des fichiers PowerPoint, des fichiers Word et des fichiers Excel. J’ai trouvé la possibilité de lire quelques propriétés prédéfinies : Sub AfficheInfoAccesFichier2() Dim fs, f, s Set fs = CreateObject("Scripting.FileSystemObject") Set f = fs.GetFile(specfichier) s = f.Name & vbCrLf s = s & "Créée le : " & f.DateCreated & vbCrLf s = s & "Dernier accès le : " & f.DateLastAccessed & vbCrLf s = s & "Dernière modification le : " & f.DateLastModified & vbCrLf s = s & "type :" & f.Type MsgBox s, 0, "Infos d'accès au fichier" End Sub Mais impossible de trouver le code pour les propriétés personnalisées !
Je pourrais m’en sortir si je savais lire de la même façon le nom du modèle, qui est une propriété prédéfinie.
Merci à tous.
isabelle
bonjour Joëlle,
extrait de : http://silkyroad.developpez.com/VBA/ProprietesClasseurs/
Sub LireProprietesClasseur_DSO() 'Nécessite d'activer la référence DSO OleDocument Properties Reader 2.0
'http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q224351 Dim DSO As DSOFile.OleDocumentProperties
Set DSO = New DSOFile.OleDocumentProperties
'Attention: Le fichier doit être préalablement fermé! DSO.Open sfilename:="C:zazazz1.xls" MsgBox DSO.SummaryProperties.Author & vbLf & DSO.SummaryProperties.Comments ' 'Les autres propriétés: ' ' ApplicationName ' Author ' ByteCount ' Category ' CharacterCount ' CharacterCountWithSpaces ' Comments ' Company ' DateCreated ' DateLastPrinted ' DateLastSaved ' HiddenSlideCount ' Keywords ' LastSavedBy ' LineCount ' Manager ' MultimediaClipCount ' NoteCount ' PageCount ' ParagraphCount ' PresentationFormat ' RevisionNumber ' SharedDocument ' SlideCount ' Subject ' Template ' Title ' TotalEditTime ' Version ' WordCount ' DSO.Close End Sub
isabelle
Joëlle B a écrit :
Bonjour, J’ai besoin d’aide pour trouver comment lire des propriétés personnalisées d’un document non ouvert. Je ne peux pas ouvrir les documents car sous les répertoires il y a des fichiers PowerPoint, des fichiers Word et des fichiers Excel. J’ai trouvé la possibilité de lire quelques propriétés prédéfinies : Sub AfficheInfoAccesFichier2() Dim fs, f, s Set fs = CreateObject("Scripting.FileSystemObject") Set f = fs.GetFile(specfichier) s = f.Name & vbCrLf s = s & "Créée le : " & f.DateCreated & vbCrLf s = s & "Dernier accès le : " & f.DateLastAccessed & vbCrLf s = s & "Dernière modification le : " & f.DateLastModified & vbCrLf s = s & "type :" & f.Type MsgBox s, 0, "Infos d'accès au fichier" End Sub Mais impossible de trouver le code pour les propriétés personnalisées !
Je pourrais m’en sortir si je savais lire de la même façon le nom du modèle, qui est une propriété prédéfinie.
Merci à tous.
bonjour Joëlle,
extrait de : http://silkyroad.developpez.com/VBA/ProprietesClasseurs/
Sub LireProprietesClasseur_DSO()
'Nécessite d'activer la référence DSO OleDocument Properties Reader 2.0
'http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q224351
Dim DSO As DSOFile.OleDocumentProperties
Set DSO = New DSOFile.OleDocumentProperties
'Attention: Le fichier doit être préalablement fermé!
DSO.Open sfilename:="C:zazazz1.xls"
MsgBox DSO.SummaryProperties.Author & vbLf &
DSO.SummaryProperties.Comments
'
'Les autres propriétés:
'
' ApplicationName ' Author ' ByteCount ' Category ' CharacterCount
' CharacterCountWithSpaces ' Comments ' Company ' DateCreated
' DateLastPrinted ' DateLastSaved ' HiddenSlideCount
' Keywords ' LastSavedBy ' LineCount ' Manager ' MultimediaClipCount
' NoteCount ' PageCount ' ParagraphCount ' PresentationFormat
' RevisionNumber ' SharedDocument ' SlideCount
' Subject ' Template ' Title ' TotalEditTime ' Version ' WordCount
'
DSO.Close
End Sub
isabelle
Joëlle B a écrit :
Bonjour,
J’ai besoin d’aide pour trouver comment lire des propriétés personnalisées
d’un document non ouvert. Je ne peux pas ouvrir les documents car sous les
répertoires il y a des fichiers PowerPoint, des fichiers Word et des fichiers
Excel.
J’ai trouvé la possibilité de lire quelques propriétés prédéfinies :
Sub AfficheInfoAccesFichier2()
Dim fs, f, s
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFile(specfichier)
s = f.Name & vbCrLf
s = s & "Créée le : " & f.DateCreated & vbCrLf
s = s & "Dernier accès le : " & f.DateLastAccessed & vbCrLf
s = s & "Dernière modification le : " & f.DateLastModified & vbCrLf
s = s & "type :" & f.Type
MsgBox s, 0, "Infos d'accès au fichier"
End Sub
Mais impossible de trouver le code pour les propriétés personnalisées !
Je pourrais m’en sortir si je savais lire de la même façon le nom du modèle,
qui est une propriété prédéfinie.
extrait de : http://silkyroad.developpez.com/VBA/ProprietesClasseurs/
Sub LireProprietesClasseur_DSO() 'Nécessite d'activer la référence DSO OleDocument Properties Reader 2.0
'http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q224351 Dim DSO As DSOFile.OleDocumentProperties
Set DSO = New DSOFile.OleDocumentProperties
'Attention: Le fichier doit être préalablement fermé! DSO.Open sfilename:="C:zazazz1.xls" MsgBox DSO.SummaryProperties.Author & vbLf & DSO.SummaryProperties.Comments ' 'Les autres propriétés: ' ' ApplicationName ' Author ' ByteCount ' Category ' CharacterCount ' CharacterCountWithSpaces ' Comments ' Company ' DateCreated ' DateLastPrinted ' DateLastSaved ' HiddenSlideCount ' Keywords ' LastSavedBy ' LineCount ' Manager ' MultimediaClipCount ' NoteCount ' PageCount ' ParagraphCount ' PresentationFormat ' RevisionNumber ' SharedDocument ' SlideCount ' Subject ' Template ' Title ' TotalEditTime ' Version ' WordCount ' DSO.Close End Sub
isabelle
Joëlle B a écrit :
Bonjour, J’ai besoin d’aide pour trouver comment lire des propriétés personnalisées d’un document non ouvert. Je ne peux pas ouvrir les documents car sous les répertoires il y a des fichiers PowerPoint, des fichiers Word et des fichiers Excel. J’ai trouvé la possibilité de lire quelques propriétés prédéfinies : Sub AfficheInfoAccesFichier2() Dim fs, f, s Set fs = CreateObject("Scripting.FileSystemObject") Set f = fs.GetFile(specfichier) s = f.Name & vbCrLf s = s & "Créée le : " & f.DateCreated & vbCrLf s = s & "Dernier accès le : " & f.DateLastAccessed & vbCrLf s = s & "Dernière modification le : " & f.DateLastModified & vbCrLf s = s & "type :" & f.Type MsgBox s, 0, "Infos d'accès au fichier" End Sub Mais impossible de trouver le code pour les propriétés personnalisées !
Je pourrais m’en sortir si je savais lire de la même façon le nom du modèle, qui est une propriété prédéfinie.
Merci à tous.
Joëlle B
Merci pour vos réponses: Daniel : CustomDocumentProperties ne s'utilise que sur un document ouvert
Isabelle : j'avais trouvé la solution sur developpez.com mais l'adresse microsoft n'existe plus et je n'ais pas cette bibliothèque en référence
dur dur
Encore une fois merci m'avoir consacré un peu de temps.
Merci pour vos réponses:
Daniel : CustomDocumentProperties ne s'utilise que sur un document ouvert
Isabelle : j'avais trouvé la solution sur developpez.com
mais l'adresse microsoft n'existe plus et je n'ais pas cette bibliothèque en
référence
dur dur
Encore une fois merci m'avoir consacré un peu de temps.
Ou peut-être : http://www.cpearson.com/excel/docprop.aspx Daniel
Merci pour vos réponses: Daniel : CustomDocumentProperties ne s'utilise que sur un document ouvert
Isabelle : j'avais trouvé la solution sur developpez.com mais l'adresse microsoft n'existe plus et je n'ais pas cette bibliothèque en référence
dur dur
Encore une fois merci m'avoir consacré un peu de temps.
Joëlle B
Désolé Daniel, mais dans le contexte je ne peux vraiment pas ouvrir les fichiers: Plus de 600 répertoires a balayer et plus de 20 fichiers par répertoire. Joëlle
Désolé Daniel, mais dans le contexte je ne peux vraiment pas ouvrir les
fichiers:
Plus de 600 répertoires a balayer et plus de 20 fichiers par répertoire.
Joëlle
Désolé Daniel, mais dans le contexte je ne peux vraiment pas ouvrir les fichiers: Plus de 600 répertoires a balayer et plus de 20 fichiers par répertoire. Joëlle
celui-ci crée un dossier c:DsoFile qui contiendra le fichier dsofile.dll
isabelle
Joëlle B a écrit :
Merci pour vos réponses: Daniel : CustomDocumentProperties ne s'utilise que sur un document ouvert
Isabelle : j'avais trouvé la solution sur developpez.com mais l'adresse microsoft n'existe plus et je n'ais pas cette bibliothèque en référence
dur dur
Encore une fois merci m'avoir consacré un peu de temps.
michdenis
Il y a ceci ... reste à le faire boucler pour tous les répertoires que tu désires :
Sub TousFichiersDunDossier() Dim FSO As Object, Dossier As Object, NomDossier Dim Files As Object, File As Object, i As Integer Dim Sh As Worksheet Dim EnTetes, ArrFSO
Application.ScreenUpdating = False Set FSO = CreateObject("Scripting.FileSystemObject") 'adapter le dossier racine si besoin NomDossier = ChoixDossierFichier("") If NomDossier = "" Then Exit Sub Set Dossier = FSO.GetFolder(NomDossier)
Set Files = Dossier.Files If Files.Count <> 0 Then Set Sh = Sheets.Add EnTetes = Array("Chemin", "Nom", _ "Date création", "Date dernière modification", _ "Date dernier accès", "Taille", "Type", "Attribut(s)") 'mise en forme With ActiveSheet.Range("A1:H1") .Value = EnTetes .Font.Bold = True .Interior.ColorIndex = 43 .Borders.LineStyle = xlContinuous .HorizontalAlignment = xlCenter End With i = 1 For Each File In Files i = i + 1 With File ArrFSO = Array(.ParentFolder & "", .Name, .DateCreated, _ .DateLastModified, .DateLastAccessed, .Size, .Type) End With Sh.Cells(i, 1). _ Resize(1, UBound(ArrFSO) - LBound(ArrFSO) + 1).Value = ArrFSO Sh.Cells(i, UBound(ArrFSO) + 2).Value = Attributs(File.Attributes) Next End If Sh.UsedRange.EntireColumn.AutoFit Set FSO = Nothing: Set Sh = Nothing Set Dossier = Nothing: Set File = Nothing End Sub
Function Attributs(Attrib) Dim Res$ If Attrib = 0 Then Res = "Aucun attribut" If Attrib And 1 Then Res = Res & "/Lecture seule" If Attrib And 2 Then Res = Res & "/Caché" If Attrib And 4 Then Res = Res & "/Système" If Attrib And 32 Then Res = Res & "/Archive" Attributs = Res End Function
Function ChoixDossierFichier(Racine, Optional SelType As Byte = 0) Dim objShell, objFolder, Chemin, SecuriteSlash, FlagChoix&, Msg$
If SelType = 0 Then FlagChoix = &H1&: Msg = "Choisissez un dossier :" Else FlagChoix = &H4000&: Msg = "Choisissez un fichier :" End If
Set objShell = CreateObject("Shell.Application") 'le troisième paramètre permet de choisir 'la sélection d'un dossier ou d'un fichier (0 ou 1) 'le dernier paramètre permet de choisir le dossier racine Set objFolder = objShell.BrowseForFolder(&H0&, Msg, FlagChoix, Racine) On Error Resume Next Chemin = objFolder.ParentFolder.ParseName(objFolder.Title).Path & "" If objFolder.Title = "Bureau" Then Chemin = "C:WindowsBureau" End If If objFolder.Title = "" Then Chemin = "" End If
SecuriteSlash = InStr(objFolder.Title, ":")
If SecuriteSlash > 0 Then Chemin = Mid(objFolder.Title, SecuriteSlash - 1, 2) & "" End If ChoixDossierFichier = Chemin End Function
"Joëlle B" a écrit dans le message de groupe de discussion : Bonjour, J’ai besoin d’aide pour trouver comment lire des propriétés personnalisées d’un document non ouvert. Je ne peux pas ouvrir les documents car sous les répertoires il y a des fichiers PowerPoint, des fichiers Word et des fichiers Excel. J’ai trouvé la possibilité de lire quelques propriétés prédéfinies : Sub AfficheInfoAccesFichier2() Dim fs, f, s Set fs = CreateObject("Scripting.FileSystemObject") Set f = fs.GetFile(specfichier) s = f.Name & vbCrLf s = s & "Créée le : " & f.DateCreated & vbCrLf s = s & "Dernier accès le : " & f.DateLastAccessed & vbCrLf s = s & "Dernière modification le : " & f.DateLastModified & vbCrLf s = s & "type :" & f.Type MsgBox s, 0, "Infos d'accès au fichier" End Sub Mais impossible de trouver le code pour les propriétés personnalisées !
Je pourrais m’en sortir si je savais lire de la même façon le nom du modèle, qui est une propriété prédéfinie.
Merci à tous.
Il y a ceci ... reste à le faire boucler pour tous
les répertoires que tu désires :
Sub TousFichiersDunDossier()
Dim FSO As Object, Dossier As Object, NomDossier
Dim Files As Object, File As Object, i As Integer
Dim Sh As Worksheet
Dim EnTetes, ArrFSO
Application.ScreenUpdating = False
Set FSO = CreateObject("Scripting.FileSystemObject")
'adapter le dossier racine si besoin
NomDossier = ChoixDossierFichier("")
If NomDossier = "" Then Exit Sub
Set Dossier = FSO.GetFolder(NomDossier)
Set Files = Dossier.Files
If Files.Count <> 0 Then
Set Sh = Sheets.Add
EnTetes = Array("Chemin", "Nom", _
"Date création", "Date dernière modification", _
"Date dernier accès", "Taille", "Type", "Attribut(s)")
'mise en forme
With ActiveSheet.Range("A1:H1")
.Value = EnTetes
.Font.Bold = True
.Interior.ColorIndex = 43
.Borders.LineStyle = xlContinuous
.HorizontalAlignment = xlCenter
End With
i = 1
For Each File In Files
i = i + 1
With File
ArrFSO = Array(.ParentFolder & "", .Name, .DateCreated, _
.DateLastModified, .DateLastAccessed, .Size, .Type)
End With
Sh.Cells(i, 1). _
Resize(1, UBound(ArrFSO) - LBound(ArrFSO) + 1).Value = ArrFSO
Sh.Cells(i, UBound(ArrFSO) + 2).Value = Attributs(File.Attributes)
Next
End If
Sh.UsedRange.EntireColumn.AutoFit
Set FSO = Nothing: Set Sh = Nothing
Set Dossier = Nothing: Set File = Nothing
End Sub
Function Attributs(Attrib)
Dim Res$
If Attrib = 0 Then Res = "Aucun attribut"
If Attrib And 1 Then Res = Res & "/Lecture seule"
If Attrib And 2 Then Res = Res & "/Caché"
If Attrib And 4 Then Res = Res & "/Système"
If Attrib And 32 Then Res = Res & "/Archive"
Attributs = Res
End Function
Function ChoixDossierFichier(Racine, Optional SelType As Byte = 0)
Dim objShell, objFolder, Chemin, SecuriteSlash, FlagChoix&, Msg$
If SelType = 0 Then
FlagChoix = &H1&: Msg = "Choisissez un dossier :"
Else
FlagChoix = &H4000&: Msg = "Choisissez un fichier :"
End If
Set objShell = CreateObject("Shell.Application")
'le troisième paramètre permet de choisir
'la sélection d'un dossier ou d'un fichier (0 ou 1)
'le dernier paramètre permet de choisir le dossier racine
Set objFolder = objShell.BrowseForFolder(&H0&, Msg, FlagChoix, Racine)
On Error Resume Next
Chemin = objFolder.ParentFolder.ParseName(objFolder.Title).Path & ""
If objFolder.Title = "Bureau" Then
Chemin = "C:WindowsBureau"
End If
If objFolder.Title = "" Then
Chemin = ""
End If
SecuriteSlash = InStr(objFolder.Title, ":")
If SecuriteSlash > 0 Then
Chemin = Mid(objFolder.Title, SecuriteSlash - 1, 2) & ""
End If
ChoixDossierFichier = Chemin
End Function
"Joëlle B" <JolleB@discussions.microsoft.com> a écrit dans le message de groupe de
discussion : 292DD272-9A65-49A7-9F07-012C0F15DAAA@microsoft.com...
Bonjour,
J’ai besoin d’aide pour trouver comment lire des propriétés personnalisées
d’un document non ouvert. Je ne peux pas ouvrir les documents car sous les
répertoires il y a des fichiers PowerPoint, des fichiers Word et des fichiers
Excel.
J’ai trouvé la possibilité de lire quelques propriétés prédéfinies :
Sub AfficheInfoAccesFichier2()
Dim fs, f, s
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFile(specfichier)
s = f.Name & vbCrLf
s = s & "Créée le : " & f.DateCreated & vbCrLf
s = s & "Dernier accès le : " & f.DateLastAccessed & vbCrLf
s = s & "Dernière modification le : " & f.DateLastModified & vbCrLf
s = s & "type :" & f.Type
MsgBox s, 0, "Infos d'accès au fichier"
End Sub
Mais impossible de trouver le code pour les propriétés personnalisées !
Je pourrais m’en sortir si je savais lire de la même façon le nom du modèle,
qui est une propriété prédéfinie.
Il y a ceci ... reste à le faire boucler pour tous les répertoires que tu désires :
Sub TousFichiersDunDossier() Dim FSO As Object, Dossier As Object, NomDossier Dim Files As Object, File As Object, i As Integer Dim Sh As Worksheet Dim EnTetes, ArrFSO
Application.ScreenUpdating = False Set FSO = CreateObject("Scripting.FileSystemObject") 'adapter le dossier racine si besoin NomDossier = ChoixDossierFichier("") If NomDossier = "" Then Exit Sub Set Dossier = FSO.GetFolder(NomDossier)
Set Files = Dossier.Files If Files.Count <> 0 Then Set Sh = Sheets.Add EnTetes = Array("Chemin", "Nom", _ "Date création", "Date dernière modification", _ "Date dernier accès", "Taille", "Type", "Attribut(s)") 'mise en forme With ActiveSheet.Range("A1:H1") .Value = EnTetes .Font.Bold = True .Interior.ColorIndex = 43 .Borders.LineStyle = xlContinuous .HorizontalAlignment = xlCenter End With i = 1 For Each File In Files i = i + 1 With File ArrFSO = Array(.ParentFolder & "", .Name, .DateCreated, _ .DateLastModified, .DateLastAccessed, .Size, .Type) End With Sh.Cells(i, 1). _ Resize(1, UBound(ArrFSO) - LBound(ArrFSO) + 1).Value = ArrFSO Sh.Cells(i, UBound(ArrFSO) + 2).Value = Attributs(File.Attributes) Next End If Sh.UsedRange.EntireColumn.AutoFit Set FSO = Nothing: Set Sh = Nothing Set Dossier = Nothing: Set File = Nothing End Sub
Function Attributs(Attrib) Dim Res$ If Attrib = 0 Then Res = "Aucun attribut" If Attrib And 1 Then Res = Res & "/Lecture seule" If Attrib And 2 Then Res = Res & "/Caché" If Attrib And 4 Then Res = Res & "/Système" If Attrib And 32 Then Res = Res & "/Archive" Attributs = Res End Function
Function ChoixDossierFichier(Racine, Optional SelType As Byte = 0) Dim objShell, objFolder, Chemin, SecuriteSlash, FlagChoix&, Msg$
If SelType = 0 Then FlagChoix = &H1&: Msg = "Choisissez un dossier :" Else FlagChoix = &H4000&: Msg = "Choisissez un fichier :" End If
Set objShell = CreateObject("Shell.Application") 'le troisième paramètre permet de choisir 'la sélection d'un dossier ou d'un fichier (0 ou 1) 'le dernier paramètre permet de choisir le dossier racine Set objFolder = objShell.BrowseForFolder(&H0&, Msg, FlagChoix, Racine) On Error Resume Next Chemin = objFolder.ParentFolder.ParseName(objFolder.Title).Path & "" If objFolder.Title = "Bureau" Then Chemin = "C:WindowsBureau" End If If objFolder.Title = "" Then Chemin = "" End If
SecuriteSlash = InStr(objFolder.Title, ":")
If SecuriteSlash > 0 Then Chemin = Mid(objFolder.Title, SecuriteSlash - 1, 2) & "" End If ChoixDossierFichier = Chemin End Function
"Joëlle B" a écrit dans le message de groupe de discussion : Bonjour, J’ai besoin d’aide pour trouver comment lire des propriétés personnalisées d’un document non ouvert. Je ne peux pas ouvrir les documents car sous les répertoires il y a des fichiers PowerPoint, des fichiers Word et des fichiers Excel. J’ai trouvé la possibilité de lire quelques propriétés prédéfinies : Sub AfficheInfoAccesFichier2() Dim fs, f, s Set fs = CreateObject("Scripting.FileSystemObject") Set f = fs.GetFile(specfichier) s = f.Name & vbCrLf s = s & "Créée le : " & f.DateCreated & vbCrLf s = s & "Dernier accès le : " & f.DateLastAccessed & vbCrLf s = s & "Dernière modification le : " & f.DateLastModified & vbCrLf s = s & "type :" & f.Type MsgBox s, 0, "Infos d'accès au fichier" End Sub Mais impossible de trouver le code pour les propriétés personnalisées !
Je pourrais m’en sortir si je savais lire de la même façon le nom du modèle, qui est une propriété prédéfinie.
Merci à tous.
Joëlle B
Bonjour, Merci à tous. J’ai enfin trouvé ce que je cherchais sur http://www.developpez.net/forums/d171265/hardware-systemes-logiciels/microsoft-office/general-vba/contribuez/lire-modifier-proprietes-fichiers-office/ :
Sub proprietesFichiers() 'source: ' http://www.microsoft.com/resources/documentation/windows/2000/server/ 'scriptguide/en-us/sas_fil_lunl.mspx ' 'Necessite d'activer la reference Microsoft Shell Controls and Automation ' Dim objShell As Object, strFileName As Object Dim objFolder As Folder Dim Resultat As String Dim i As Byte
Set objShell = CreateObject("Shell.Application") 'repertoire cible Set objFolder = objShell.Namespace("C:TEST")
'boucle sur tous les elements du repertoire For Each strFileName In objFolder.Items 'pour que les sous dosssiers ne soient pas pris en comptes If strFileName.IsFolder = False Then Resultat = "" For i = 0 To 34 Resultat = Resultat & objFolder.GetDetailsOf(strFileName, i) & vbLf Next MsgBox Resultat End If Next End Sub
J’en profite pour remercier tous les contributeurs de ce site. Je ne compte plus le nombre fois ou j’ai trouvé mon bonheur dans les réponses déjà postées.
A plus
Joëlle
Bonjour,
Merci à tous.
J’ai enfin trouvé ce que je cherchais sur
http://www.developpez.net/forums/d171265/hardware-systemes-logiciels/microsoft-office/general-vba/contribuez/lire-modifier-proprietes-fichiers-office/ :
Sub proprietesFichiers()
'source:
' http://www.microsoft.com/resources/documentation/windows/2000/server/
'scriptguide/en-us/sas_fil_lunl.mspx
'
'Necessite d'activer la reference Microsoft Shell Controls and Automation
'
Dim objShell As Object, strFileName As Object
Dim objFolder As Folder
Dim Resultat As String
Dim i As Byte
Set objShell = CreateObject("Shell.Application")
'repertoire cible
Set objFolder = objShell.Namespace("C:TEST")
'boucle sur tous les elements du repertoire
For Each strFileName In objFolder.Items
'pour que les sous dosssiers ne soient pas pris en comptes
If strFileName.IsFolder = False Then
Resultat = ""
For i = 0 To 34
Resultat = Resultat & objFolder.GetDetailsOf(strFileName, i) & vbLf
Next
MsgBox Resultat
End If
Next
End Sub
J’en profite pour remercier tous les contributeurs de ce site.
Je ne compte plus le nombre fois ou j’ai trouvé mon bonheur dans les
réponses déjà postées.
Bonjour, Merci à tous. J’ai enfin trouvé ce que je cherchais sur http://www.developpez.net/forums/d171265/hardware-systemes-logiciels/microsoft-office/general-vba/contribuez/lire-modifier-proprietes-fichiers-office/ :
Sub proprietesFichiers() 'source: ' http://www.microsoft.com/resources/documentation/windows/2000/server/ 'scriptguide/en-us/sas_fil_lunl.mspx ' 'Necessite d'activer la reference Microsoft Shell Controls and Automation ' Dim objShell As Object, strFileName As Object Dim objFolder As Folder Dim Resultat As String Dim i As Byte
Set objShell = CreateObject("Shell.Application") 'repertoire cible Set objFolder = objShell.Namespace("C:TEST")
'boucle sur tous les elements du repertoire For Each strFileName In objFolder.Items 'pour que les sous dosssiers ne soient pas pris en comptes If strFileName.IsFolder = False Then Resultat = "" For i = 0 To 34 Resultat = Resultat & objFolder.GetDetailsOf(strFileName, i) & vbLf Next MsgBox Resultat End If Next End Sub
J’en profite pour remercier tous les contributeurs de ce site. Je ne compte plus le nombre fois ou j’ai trouvé mon bonheur dans les réponses déjà postées.