XL 2019 Lire propriété (vidéo) à partir d'une boite de dialogue ?

re4

XLDnaute Occasionnel
Bonjour,
Il est encore temps de vous souhaiter une bonne et heureuse année.

J'ai adapté le code ci-dessous pour mes besoins, pouvez-vous m'aider pour aller chercher le fichier avec une boite de dialogue à la place de ce code :
Set objFolder = objShell.Namespace("D:\temp test\video")
Set objFolderItem = objFolder.ParseName("test.mp4")
Mon expérience VBA étant limitée, je n'ai peut -être pas utilisé les bons termes... :-(

Merci par avance
Bonne journée


VB:
Sub ProprieteVideo()

'Extraction de tous les codes sur le pc qui utilise ce fichier dans une feuille ""Code""
Call M2_code_champs1.code_champs1
    
'\
    Dim strHauteurVideo As String
    Dim strLargeurVideo As String
    Dim strHauteur As String
    Dim strLargeur As String
    Dim strTaille As String
    Dim strDebite As String
    
    Largeur = Worksheets("Code").Range("C2").Value  'Win 10 sur mon poste en 2022 => Code 316
    Hauteur = Worksheets("Code").Range("D2").Value 'win 10 sur mon poste en 2022 => Code 314
    Taille = Worksheets("Code").Range("E2").Value        'win 10 sur mon poste en 2022 => code 1
    Debit = Worksheets("Code").Range("F2").Value        'win 10 sur mon poste en 2022 => code 320
    
    Worksheets("Datas").Select
    Set objShell = CreateObject("shell.application")
    
    '***
    Set objFolder = objShell.Namespace("D:\temp test\video")
    Set objFolderItem = objFolder.ParseName("test.mp4")
    '***
    
    strLargeurVideo = objFolder.GetDetailsOf(objFolderItem, Largeur)
    strHauteurVideo = objFolder.GetDetailsOf(objFolderItem, Hauteur)
    Range("A1") = strLargeurVideo & "x" & strHauteurVideo
    strTaille = objFolder.GetDetailsOf(objFolderItem, Taille)
    Range("B1") = strTaille
      strDebit = objFolder.GetDetailsOf(objFolderItem, Debit)
    Range("C1") = strDebit
    
    Set objFolderItem = Nothing
    Set objFolder = Nothing
    Set objShell = Nothing

End Sub
 

patricktoulon

XLDnaute Barbatruc
re

late binding= déclaration tardive (utilisation de createobject) (pas de référence a activer )

l'object shel.application ---> object (late binding)(createobject)
l'object folder ---> object =membre de shell.application
l'object folderitem ---> object = membre de shell.application (child de folder )

namespace(dossier) ---> dossier en string ou variant
ParseName(Fichier) ---> fichier en variant obligatoirement

dans beaucoup d'autres librairies des qu' il y a un parse ("analyser")l'objet (et non l'Object) du parse doit être une structure pas une chaîne string qui est une chaîne et n'est pas structuré
 
Dernière édition:

re4

XLDnaute Occasionnel
@Marcel32
Je pense que le problème vient plus du type de fichier que de l'OS.
Je suis sous Windows 10 Pro 64 21H1 et Excel 2016.
C'est peut-être vrai pour les vidéos mais les tests et les utilisations que j'en fait sont jusqu'a présent qu'avec des jpg et qui peuvent être sur differentes machines et suivant l'os je n'avais pas les mêmes codes d'ou la procédure pour identifier les codes de chaque pc ou le fichier était lancé. Mais peut-être que l'on ne parle pas de la même chose. Comme toi sur différentes machine win famille ou pro je n'avait pas le même résultat.
 

re4

XLDnaute Occasionnel
Bonjour,
exact, j'ai testé pour ceux que j'utilise le plus souvent avec *.jpg - *.mov - *.mts - *.mp4
Avec du vba il n'est peut-être pas possible d'obtenir les mêmes infos que nous donne par exemple MediaInfo.

Pour terminer peut-être, J'ai une préférence pour le code du post #27, qui me suffit pour l'instant, comment remplacer l'appel des fichiers en ''dur'' par l'ouverture d'un explorer ?

Code:
Sub test_Avec_1_fichier()
    [A1].CurrentRegion.ClearContents
    Chemin = "I:\FILM TV\deja visionné\2 drame policier"
    Fichier$ = "une vie de mensonge.mp4"
        Get_Attributes_Fich Fichier, 3
End Sub

Merci à vous deux, c'est un super boulot
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 164
Messages
2 085 869
Membres
103 007
dernier inscrit
salma_hayek