IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Modifier les propriétés avancées d'un fichier sur le disque


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Février 2014
    Messages : 10
    Points : 5
    Points
    5
    Par défaut Modifier les propriétés avancées d'un fichier sur le disque
    Bonjour,

    J'utilise un macro excel pour lister les fichiers d'une arborescence réseau.
    Le but étant d'afficher le nom du fichier ainsi qu'un lien vers le fichier. Jusque là ok pas de souci.

    Maintenant je voudrai lire les propriétés avancées (commentaires, mots clés, descriptions) des fichiers et les inserer dans des colonnes de mon tableau excel.
    --> ça ok.

    Enfin je voudrai pouvoir modifier les propriétés avancées d'un fichier depuis vba.

    Pour lire les propriété avancé j'ai trouvé la méthode "GetDetailsOf" qui fonctionne bien.

    Existe-t-il une méthode ou un moyen de faire un SetDetailsOf pour modifier les valeurs de ces propriétés avancées?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    Dim Oshell As Object
    Dim ODir As Object
     
    Set Oshell = CreateObject("Shell.Application")
    Set ODir = Oshell.Namespace("c:\temp")
     
            'i=18 --> Mots clés
            i = 18
                TextBox1.Text = TextBox1.Text & "N° " & i & ": " & ODir.GetDetailsOf(ODir, i) & " = "
                 For Each sFile In ODir.Items
                    TextBox1.Text = TextBox1.Text & ODir.GetDetailsOf(sFile, i) & " / "
                Next
                TextBox1.Text = TextBox1.Text & " - "
            'i=24 --> Commentaires
            i = 24
                TextBox1.Text = TextBox1.Text & "N° " & i & ": " & ODir.GetDetailsOf(ODir, i) & " = "
                 For Each sFile In ODir.Items
                    TextBox1.Text = TextBox1.Text & ODir.GetDetailsOf(sFile, i) & " / "
                Next
                TextBox1.Text = TextBox1.Text & " - "
            'i=34 --> Description fichier
            i = 34
                TextBox1.Text = TextBox1.Text & "N° " & i & ": " & ODir.GetDetailsOf(ODir, i) & " = "
                For Each sFile In ODir.Items
                    TextBox1.Text = TextBox1.Text & ODir.GetDetailsOf(sFile, i) & " / "
                Next
                TextBox1.Text = TextBox1.Text & Chr(13)
    Merci d'avance,

    Cordialement,

    Stéph

  2. #2
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut
    Bonsoir,

    Il y a eu une discussion similaire ici :
    http://www.developpez.net/forums/d14...d-fichier-mp3/
    peut-être cela pourra-t-il vous aider.
    J’entends et j’oublie,
    Je vois et je me souviens,
    Je fais et je comprends.
    Confucius

  3. #3
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Février 2014
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Merci pour le retour.

    La partie DSOFile.OleDocumentProperties règle mon problème pour les fichiers Word, Excel,...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        '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:\temp\Excel.xlsx"
        DSO.Open sfilename:="C:\temp\Word.docx"
        DSO.Open sfilename:="C:\temp\Pdf.pdf" '--> ne fonctionne pas
        DSO.SummaryProperties.Comments = "mon nouveau commentaire"
        DSO.Save
        DSO.Close
    Par contre le lien vers la modification des fichiers mp3 en accès binaire implique la copie du fichier ce qui est très long et je n'ai pas non plus réussi à le faire fonctionner avec des fichier images et des PDF.

    Auriez vous une solution pour la modification de fichiers PDF, image et autres "a priori" "non OLE".

    Merci d'avance

  5. #5
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut
    Voici les 2 sites de
    DVP.com pour VB6 et
    DVP.com pour VB.net où tu ne manqueras pas d'y trouver de l'aide

    voir aussi ici : http://www.developpez.net/forums/d14...bat-vba-excel/

    Je ne pense pas que l'on puisse modifier un fichier PDF en VBA.
    Peut-être si l'on possède Adobe Acrobat.

    En général, on crée le fichier avec un logiciel comme Word, Excel... et on le convertit en PDF par la suite.

    on ne peut les modifier qu'avec Adobe Acrobat Writer /Maker permet l'édition du fichier sauf erreur de ma part. Il y aura certainement de plus grands spécialistes que moi qui pourront confirmer ou pas.
    J’entends et j’oublie,
    Je vois et je me souviens,
    Je fais et je comprends.
    Confucius

  6. #6
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, voir ceci, les possibilités sont nettement plus limitées : Auteur,Sujet,Mots-Clés,Titre,Outil de conversion PDF,Date Création,Date Modification



    Accessoirement voir : Liste des propriétés de fichiers

    Des versions téléchargeables sont disponibles via la Liste des Contributions.

  7. #7
    Candidat au Club
    Homme Profil pro
    Ingénieur Electro mécanique
    Inscrit en
    Mars 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur Electro mécanique

    Informations forums :
    Inscription : Mars 2019
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Erreur dans l’exécution de la procédure
    Bonjour,
    Cette procédure ci-dessous ne fonctionne pas avec excel 2016. Un message d'erreur apparaît :
    Un composant ActiveX ne peut pas créer d'objet
    à la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set DSO = New DSOFile.OleDocumentProperties
    Avez vous une idée de la cause.
    Merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    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:\Temp\test excel\Test.xlsx"
     
        '
        MsgBox DSO.SummaryProperties.Author & vbLf & DSO.SummaryProperties.DateLastSaved
        '
        '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
    Cordialement

  8. #8
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Ton Excel est-il à 64 bits ? Parce que DSO n'est pas compatible avec des Office à 64 bits.

    Sinon avec l'excellent VB.net. Bien mieux que VBA dans des parcs hétéroclites d'Office. Années, 32 bits et 64 bits inclus.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  9. #9
    Candidat au Club
    Homme Profil pro
    Ingénieur Electro mécanique
    Inscrit en
    Mars 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur Electro mécanique

    Informations forums :
    Inscription : Mars 2019
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Effectivement c'est un 64 bits

Discussions similaires

  1. Réponses: 5
    Dernier message: 30/11/2015, 00h01
  2. Ajouter ou modifier les propriétés (tags) d'un fichier MP3
    Par Humanisto dans le forum Général VBA
    Réponses: 3
    Dernier message: 29/04/2014, 21h59
  3. [XL-2007] Modifier les propriété avancé d'un fichier "JPG"
    Par Pyton dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 25/03/2012, 09h02
  4. [Toutes versions] Comment écrire les propriétés avancées d'un fichier quelconque?
    Par nehoc dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/04/2010, 20h22
  5. Modifier les propriétés d'un fichier
    Par manu1407 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 09/11/2005, 10h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo