OVH Cloud OVH Cloud

URGENT-Imprimer les propriétés des documents

38 réponses
Avatar
souricette
Bonjour,
On me demande d'imprimer les propriétés de certains documents.
Quand il s'agit de Word, pas de souci, cela semble prévu pour,
mais concernant une présentation powerpoint, ou pire, un diaporama
powerpoint, à part "faire afficher les propriétés" depuis l'explorateur de
windows puis de coller les copies d'écran de chaque onglet dans un document
centralisateur, je ne vois guère de solution pratique et si possible RAPIDE
(j'ai une soixantaine de documents divers dont je dois extraire les
propriétés, pour ce soir impérativement)
Merci de votre aide

10 réponses

1 2 3 4
Avatar
souricette
Waow !
Génial !

ce serait possible de l'entendre aux autres types de documents ?
*.* ou {*.xls; *.ppt; *.pps; *.pdf}
en sus des {*.doc; *.dot; *.html; *.htm; *.rtf}
actuellement accessibles à la sélection

D'avance, merci


Voici la batch macro adaptée à votre cas.
Attention au retours à la ligne qui seraient produits par le
courrieleur.


Option Explicit

Public Sub ListePropDocs()
' Exécute une macro par lot sur une série de fichiers
' Version légère pour WD2002+ seulement : utilise le FilePicker
' Anacoluthe pour le MPFW et la FAQ à

Dim NomMacro As String
Dim vFichier As Variant
Dim RetourDL As Long
Dim NbFichOK As Integer
Dim MonDocument As Document
Dim p
Set MonDocument = Documents.Add
' 1- Sélection des fichiers
' Le FilePicker permet de sélectionner le répertoire puis dedans
' des fichiers avec Maj ou Ctrl ou tous les fichiers avec Ctrl+A
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
fd.Title = "BATCH: Sélectionner les fichiers à traiter"
fd.Filters.Add _
"Documents", "*.doc; *.dot; *.html; *.htm; *.rtf", 1
If fd.Show <> -1 Then Exit Sub
If MsgBox(fd.SelectedItems.Count & " documents à traiter ", vbYesNo, _
"continuer ?") = vbNo Then Exit Sub


' 3- Exécution de la macro dans tous les fichiers choisis
' la macro doit agir uniquement sur le document actif sans le fermer
For Each vFichier In fd.SelectedItems
On Error GoTo Suivant
Application.Documents.Open FileName:=vFichier, _
AddToRecentFiles:úlse, ConfirmConversions:=True, _
visible:=True
On Error GoTo Fermer
MonDocument.Range.InsertAfter "Document : " & vbTab & _
ActiveDocument.name & vbCr
For Each p In ActiveDocument.BuiltInDocumentProperties
On Error Resume Next
MonDocument.Range.InsertAfter p.name & vbTab & p & vbCr
Next
On Error GoTo Fermer
MonDocument.Range.InsertAfter vbCr
NbFichOK = NbFichOK + 1
Fermer:
On Error GoTo Suivant
ActiveDocument.Close SaveChanges:=wdSaveChanges
Suivant:
On Error GoTo 0
Next vFichier

' 4 fin de la BatchMacro
MsgBox ("La macro " & NomMacro & " a été exécutée sur " _
& NbFichOK & " Fichiers")
Set fd = Nothing
End Sub

--
A+





Avatar
Geo

Waow !
Génial !

ce serait possible de l'entendre aux autres types de documents ?
*.* ou {*.xls; *.ppt; *.pps; *.pdf}
en sus des {*.doc; *.dot; *.html; *.htm; *.rtf}
actuellement accessibles à la sélection


Oui et non

Word sait ouvrir des documents Word,
pour ouvrir les fichiers Excel et PowerPoint il faut utiliser ces
applications, on peut les appeler en vba.
Le pdf n'a rien à voir avec Office, on ne peut donc rien faire.

Vous voulez les propriétés de tous les fichiers Office d'un même
dossier ?
C'est bien cela ?

--
A+

Avatar
souricette


Waow !
Génial !

ce serait possible de l'entendre aux autres types de documents ?
*.* ou {*.xls; *.ppt; *.pps; *.pdf}
en sus des {*.doc; *.dot; *.html; *.htm; *.rtf}
actuellement accessibles à la sélection


Oui et non

Word sait ouvrir des documents Word,
pour ouvrir les fichiers Excel et PowerPoint il faut utiliser ces
applications, on peut les appeler en vba.
Le pdf n'a rien à voir avec Office, on ne peut donc rien faire.

Vous voulez les propriétés de tous les fichiers Office d'un même
dossier ?
C'est bien cela ?

--
A+


Oui, c'est bien ça !
Et c'est d'autant plus problématique pour les ppt et pps


Avatar
Jacques93
Bonjour souricette et Geo,



Waow !
Génial !

ce serait possible de l'entendre aux autres types de documents ?
*.* ou {*.xls; *.ppt; *.pps; *.pdf}
en sus des {*.doc; *.dot; *.html; *.htm; *.rtf}
actuellement accessibles à la sélection
Oui et non


Word sait ouvrir des documents Word,
pour ouvrir les fichiers Excel et PowerPoint il faut utiliser ces
applications, on peut les appeler en vba.
Le pdf n'a rien à voir avec Office, on ne peut donc rien faire.

Vous voulez les propriétés de tous les fichiers Office d'un même
dossier ?
C'est bien cela ?

--
A+


Oui, c'est bien ça !
Et c'est d'autant plus problématique pour les ppt et pps


Peut être jeter un coup d'oeil du côté de DSOFile ?

<http://www.microsoft.com/technet/scriptcenter/resources/tales/sg0305.mspx>

Il y a un exemple en VB ici :

<http://www.microsoft.com/downloads/details.aspx?FamilyID›a6fac6-520b-4a0a-878a-53ec8300c4c2&DisplayLang=en>

Mais cela traitera uniquement les fichiers office natifs (donc pas les
.rtf, .html, comme le fait la fonction de Geo). Par contre cela doit
prendre en compte les :
*.doc;*.docx;*.docm;*.dot;*.dotx;
*.xls;*.xlsx;*.xlsm;*.xlsb;*.xla;*xlam;
*.ppt;*.pptx;*.pptm;*.vsd;*.mpp

En VBA cela pourrait ressembler à (le résultat sera dans le fichier
rapport.txt) :

Private Sub ListePropOffice()
Dim fso As Object ' FileSystemObject
Dim fld As Object ' Répertoire
Dim f As Object ' fichier
Dim dso As Object ' DSOFile
Dim fNum As Integer

fNum = FreeFile()
Open "Rapport.txt" For Output As #fNum
Set fso = CreateObject("Scripting.FileSystemObject")
Set fld = fso.GetFolder(NomDuRepertoire)
Set dso = CreateObject("DSOfile.OleDocumentProperties")
On Error Resume Next
Err.Clear
For Each f In fld.Files
dso.open f
If Err <> 0 Then
Print #fNum, "Erreur ouverture : " & f.Name & " " & _
Err.code & "="; Err.Description
Else
If dso.SummaryProperties.ApplicationName <> "" Then
Print #fNum, f.Name
Print #fNum, vbTab & "Application name: " & _
dso.SummaryProperties.ApplicationName
Print #fNum, vbTab & "Author: " & _
dso.SummaryProperties.Author
Print #fNum, vbTab & "Byte count: " & _
dso.SummaryProperties.ByteCount
Print #fNum, vbTab & "Category: " & _
dso.SummaryProperties.Category
Print #fNum, vbTab & "Character count: " & _
dso.SummaryProperties.CharacterCount
Print #fNum, vbTab & "Character count with spaces: " & _
dso.SummaryProperties.CharacterCountWithSpaces
Print #fNum, vbTab & "Comments: " & _
dso.SummaryProperties.Comments
Print #fNum, vbTab & "Company: " & _
dso.SummaryProperties.Company
Print #fNum, vbTab & "Date created: " & _
dso.SummaryProperties.DateCreated
Print #fNum, vbTab & "Date last printed: " & _
dso.SummaryProperties.DateLastPrinted
Print #fNum, vbTab & "Date last saved: " & _
dso.SummaryProperties.DateLastSaved
Print #fNum, vbTab & "Hidden slide count: " & _
dso.SummaryProperties.HiddenSlideCount
Print #fNum, vbTab & "Keywords: " & _
dso.SummaryProperties.Keywords
Print #fNum, vbTab & "Last saved by: " & _
dso.SummaryProperties.LastSavedBy
Print #fNum, vbTab & "Line count: " & _
dso.SummaryProperties.LineCount
Print #fNum, vbTab & "Manager: " & _
dso.SummaryProperties.Manager
Print #fNum, vbTab & "Multimedia clip count: " & _
dso.SummaryProperties.MultimediaClipCount
Print #fNum, vbTab & "Note count: " & _
dso.SummaryProperties.NoteCount
Print #fNum, vbTab & "Page count: " & _
dso.SummaryProperties.PageCount
Print #fNum, vbTab & "Paragraph count: " & _
dso.SummaryProperties.ParagraphCount
Print #fNum, vbTab & "Presentation format: " & _
dso.SummaryProperties.PresentationFormat
Print #fNum, vbTab & "Revision number: " & _
dso.SummaryProperties.RevisionNumber
Print #fNum, vbTab & "Shared document: " & _
dso.SummaryProperties.SharedDocument
Print #fNum, vbTab & "Slide count: " & _
dso.SummaryProperties.SlideCount
Print #fNum, vbTab & "Subject: " & _
dso.SummaryProperties.Subject
Print #fNum, vbTab & "Template: " & _
dso.SummaryProperties.Template
Print #fNum, vbTab & "Title: " & _
dso.SummaryProperties.Title
Print #fNum, vbTab & "Total edit time: " & _
dso.SummaryProperties.TotalEditTime
Print #fNum, vbTab & "Version: " & _
dso.SummaryProperties.Version
Print #fNum, vbTab & "Word count: " & _
dso.SummaryProperties.WordCount
End If
dso.Close
End If
Next
Close #fNum
Set dso = Nothing
Set fso = Nothing
End Sub

--
Cordialement,

Jacques.



Avatar
Geo

Peut être jeter un coup d'oeil du côté de DSOFile ?


Bonne idée, ça permet de tout traiter sans s'occuper de l'application
dont il s'agit.

--
A+

Avatar
Jacques93
Bonjour Geo,

Peut être jeter un coup d'oeil du côté de DSOFile ?


Bonne idée, ça permet de tout traiter sans s'occuper de l'application
dont il s'agit.

Merci Geo, mais pour préciser à souricette, cela ne concerne que les

documents produits par la suite Office. Il y a peut être, même
certainement, un autre truc à exploiter, comme l'explorateur le fait (
Images, etc...). Je vais peut être m'y plonger ;-)


--
Cordialement,

Jacques.


Avatar
Geo

Merci Geo, mais pour préciser à souricette, cela ne concerne que les documents produits
par la suite Office. Il y a peut être, même certainement, un autre truc à exploiter,
comme l'explorateur le fait ( Images, etc...). Je vais peut être m'y plonger ;-)


Si j'ai bien compris, le but est de mettre en évidence les différences
de contenus de dossiers.
J'aurais en effet pris le problème dans l'ordre inverse :
Comparer les contenus au sens Windows (nom, dates, taille et autres
résumés) et analysé en détail les documents dans le cas de différences.
Ce serait étonnant que deux fichiers de même nom, même taille, mêmes
dates, soient différents.
Mais ça dépend du contexte, si c'est un camouflage volontaire, ça
devient délicat.

J'ai quand même terminé la macro que j'avais commencée pour traiter les
trois applis Office, au nombre de lignes il n'y a pas photo.

--
A+

Avatar
souricette


Peut être jeter un coup d'oeil du côté de DSOFile ?


Bonne idée, ça permet de tout traiter sans s'occuper de l'application
dont il s'agit.

--
A+

C'est probablement moi qui suis à la masse, mais je ne trouve pas DSO File,

il y a une astuce qui m'a échappée ?


Avatar
souricette


Merci Geo, mais pour préciser à souricette, cela ne concerne que les documents produits
par la suite Office. Il y a peut être, même certainement, un autre truc à exploiter,
comme l'explorateur le fait ( Images, etc...). Je vais peut être m'y plonger ;-)


Si j'ai bien compris, le but est de mettre en évidence les différences
de contenus de dossiers.
J'aurais en effet pris le problème dans l'ordre inverse :
Comparer les contenus au sens Windows (nom, dates, taille et autres
résumés) et analysé en détail les documents dans le cas de différences.
Ce serait étonnant que deux fichiers de même nom, même taille, mêmes
dates, soient différents.
Mais ça dépend du contexte, si c'est un camouflage volontaire, ça
devient délicat.

J'ai quand même terminé la macro que j'avais commencée pour traiter les
trois applis Office, au nombre de lignes il n'y a pas photo.

--
A+


Non, le problème est bien pire,
une simple comparaison entre différentes versions de fichiers sensiblement
identiques où l'auteur est plus pertinent que la date ou la taille,
Exploration de dossier de "vrac pour base documentaire" afin de regrouper
des fichiers en fonction des mots clé associés (quand il y en a) , etc....

Merci de continuer à m'aider...


Avatar
Geo

C'est probablement moi qui suis à la masse, mais je ne trouve pas DSO File,
il y a une astuce qui m'a échappée ?


Le lien de téléchargement est dans la première référence citée par
Jacques , le voici :
http://www.microsoft.com/downloads/details.aspx?FamilyID›a6fac6-520b-4a0a-878a-53ec8300c4c2&DisplayLang=en

--
A+

1 2 3 4