"GetDetailsOf(ELEMENT, 2)" Le "2" n'est pas le même chez tous!

YANN-56

XLDnaute Barbatruc
Bonsoir à ceux qui passeront par ici,

J'ai constaté que l'ordre des propriétés des Fichiers n'était pas le même
suivant les versions installées... D'où problèmes... :(

Chez moi "2" est le "Type" des Fichiers, et le "11" est le Subject.

Existe-t-il des correspondances dont je pourrais me servir?
Chez moi; c'est:
'0 Name
'1 Size
'2 Type
'3 Date Modified
'4 Date Created
'5 Date Accessed
'6 Attributes
'7 Status
'8 Owner
'9 Author
'10 Title
'11 Subject
'12 Category
'13 Pages
'14 Comments
'15 Copyright
'16 Artist
'17 Album Title
'18 Year
'19 Track Number
'20 Genre
'21 Duration
'22 Bit Rate
'23 Protected
'24 Camera Model
'25 Date Picture Taken
'26 Dimensions
'27 Not used
'28 Not used
'29 Not used
'30 Company
'31 Description
'32 File Version
'33 Product Name
'34 Product Version

Et chez vous?

Merci de m'aider, car je me heurte à trop de plantages…!
(Quant à l'adaptation, je pense pouvoir l'automatiser)

Ci-joint un exemple joint qui marchera chez certain mais pas d'autres.
(Dans le cas présent: La sélection limitée aux Images)

Yann
 

Pièces jointes

  • QUESTION.xls
    32.5 KB · Affichages: 145
  • QUESTION.xls
    32.5 KB · Affichages: 159
  • QUESTION.xls
    32.5 KB · Affichages: 169
G

Guest

Guest
Re : "GetDetailsOf(ELEMENT, 2)" Le "2" n'est pas le même chez tous!

Bonsoir Yann,

bonjour, une solution pour connaitre l'index du détail que l'on souhaite:

Code:
Private Sub UserForm_Initialize()
  With Me.ListView1: .View = 3: .Gridlines = True
  With .ColumnHeaders: .Add , , "IMAGE", 100: .Add , , "CHEMIN", 350: End With: End With
' ========================================================================================
  Set RECHERCHE = Application.FileDialog(msoFileDialogFolderPicker)
  With RECHERCHE
    .Title = "     CHOISIR UN DOSSIER"
    .AllowMultiSelect = False
       If .Show = -1 Then
         For Each CHOIXDOSSIER In .SelectedItems
         DOSSIER_CHOISI = CHOIXDOSSIER
         Next CHOIXDOSSIER
       End If
  End With
  Set RECHERCHE = Nothing
  ' =============================================
  Set DOSSIER_A_FOUILLER = CreateObject("Shell.Application")
  Set FICHIERS_EXISTANTS = DOSSIER_A_FOUILLER.Namespace(DOSSIER_CHOISI & "\")
[COLOR=blue]For i = 0 To 34[/COLOR]
[COLOR=blue] If FICHIERS_EXISTANTS.GetDetailsOf(FICHIERS_EXISTANTS.Items, i) Like "[COLOR=red][B]Type[/B][/COLOR]*" Then Exit For
  Next
[/COLOR]For Each ELEMENT In FICHIERS_EXISTANTS.Items
  On Error Resume Next 'Au cas où il n'y ait pas de Fichier
 
  If FICHIERS_EXISTANTS.GetDetailsOf(ELEMENT, i) Like "*JPG*" Then
  ' C'est ci-dessus que cela coince chez certains...!
      With Me.ListView1
      .ListItems.Add , , ELEMENT
      .ListItems(.ListItems.Count).ListSubItems.Add , , ELEMENT.Path
      End With
   End If
 
  Next ELEMENT
End Sub

Chez moi:

Chez moi: (Peut-être que Type identifié est plus sûr que Type seul)
0 Nom: image201004020001.jpg
1 Taille: 30,9 Ko
2 Type: Fichier JPG
3 Date de modification: 02/04/2010 12:26
4 Date de création: 02/04/2010 12:21
5 Date d'accès: 02/04/2010 12:26
6 Attributs: A
7 État hors connexion:
8 Disponibilité hors connexion:
9 Type identifié: Image
10 Propriétaire: XXXXXXXXXXXXXXXXXX
11 Genres: Images
12 Date de la prise de vue:
13 Artistes:
14 Album:
15 Année:
16 Genre:
17 Chefs d'orchestre:
18 Mots-clés:
19 Notation: Non classé
20 Auteurs:
21 Titre:
22 Objet:
23 Catégories:
24 Commentaires:
25 Copyright:
26 N°:
27 Durée:
28 Taux d'échantillonnage:
29 Protégé:
30 Modèle d'appareil photo:
31 Dimensions: ?560 x 357?
32 Fabricant de l’appareil photo:
33 Société:
34 Description du fichier:

A+
[Edit]Hello Staple, je vois que nous avons les même sources
 
Dernière modification par un modérateur:

YANN-56

XLDnaute Barbatruc
Re : "GetDetailsOf(ELEMENT, 2)" Le "2" n'est pas le même chez tous!

Bonsoir Staple, Hasco, et à ceux qui passeront par là,

Merci pour l'aide et le lien bien utile.

Je vais tenter un test chez un correspondant qui m'a soulevé ce lièvre.

Pour vous; à ce que je vois, le "Type" est aussi le "2" donc vous ne serez pas mes cobayes
car mon code doit fonctionner en l'état sur votre ordi.

Chez lui, j'étais obligé de supprimer cette sélection, sinon Plouf!

Avec la solution de Hasco, je pense que ce mode de recherche va résoudre
le problème en ciblant la propriété et non son chiffre.

Je vais attendre qu'il se réveille, et vous tenir au courant.
(Il est évident que je ne peux pas tester chez moi!)

Merci encore à vous.

Yann
 

YANN-56

XLDnaute Barbatruc
Re : "GetDetailsOf(ELEMENT, 2)" Le "2" n'est pas le même chez tous!

Bonjour à tous,

Merci Kjin ;)

Cela m'apporte une autre voie avec "GetFileProperties"
(Voire "GetExtFileProperties" comme ici)

Je pense pouvoir me débrouiller avec vos aides pertinentes.

J'ai même pensé à mettre une image test dans le Dossier où se trouve
le Classeur effectuant la recherche.

Après avoir dressé la liste de ses propriétés, j'en déduis où est son "Type"... En 2 ou ailleurs!
(Puisque le connaissant à fortiori)

Par la suite, je n'ai plus besoin d'utiliser la comparaison dans ma recherche.

J'y gagnerai sans doute en rapidité... Je vais tester.

Merci encore, et au plaisir.

Yann
 

Statistiques des forums

Discussions
312 206
Messages
2 086 221
Membres
103 158
dernier inscrit
laufin