Version de fichier

Le
J-L
Bonjour,

Est-il possible de savoir avec quelle version d'Excel (97, 2000, etc.)
un classeur a été généré ?

Je ne trouve rien dans les propriétés.

Merci d'avance de votre aide.

J-L
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
LE TROLL
Le #19881501
Bonjour,

ça :

API GetFileVersionInfo

ici :
http://vb.developpez.com/srcvba/?page=vbaFichiers

--
Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"J-L" news:
Bonjour,

Est-il possible de savoir avec quelle version d'Excel (97, 2000, etc.) un
classeur a été généré ?

Je ne trouve rien dans les propriétés.

Merci d'avance de votre aide.

J-L




MichDenis
Le #19881591
Bonjour,

Cela ne répond pas directement à la question posée..

dans la procédure : Sub AfficherInformationsApplication()

Il y a ceci :
| LeFichier = X
| 'Recherche l'executable associé au fichier sélectionné
| MonAppli = FindExecutable(LeFichier)

En fait, cela retourne le fichier "Excel.exe" présent sur la machine où
la procédure est lancée et forcément affiche la version de l'exécutable
"Excel" présent sur la machine.

Me semble-t-il, la question est plutôt qu'elle est la version de l'exécutable
avec laquelle le fichier a été créé ? La procédure suggérée ne répond pas
à cette interrogation.
La question qu'on peut se demander, est-ce qu'un fichier Excel contient
quelque part l'empreinte de la version qu'il l'a créée ? Si le fichier ne
contient pas cette information, il sera difficile de l'extraire !!!




"LE TROLL"
Bonjour,

ça :

API GetFileVersionInfo

ici :
http://vb.developpez.com/srcvba/?page=vbaFichiers

--
Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"J-L" news:
Bonjour,

Est-il possible de savoir avec quelle version d'Excel (97, 2000, etc.) un
classeur a été généré ?

Je ne trouve rien dans les propriétés.

Merci d'avance de votre aide.

J-L




LE TROLL
Le #19881701
Bonjour,

Absolument sur ce que tu dis, c'était à toute fin...
Pour le fichier, il faut lui indiquer le chemin du fichier à pointer, sinon
en effet il ira au chemin par défaut (app.Path)... et pour ceci sans doute
faut-il utiliser les commandes Dos depuis VB (VBA ?).
J'ai regardé dans mon éditeur de fichier qui le présente en alphanumérique,
en binaire et en hexadécimal, je n'ai pas pu visuellement identifier la
version, mais dans les propriété (avec l'explorateur elle y figure), donc il
y a des chances qu'elle y soit mais en binaire, donc il faut l'API, à moins
de lire directement le fichier et de convertir le binaire, ce qui serait
astreignent et nécessiterait de connaître la structure de codage de l'entête
du fichier (nombre d'octets, généralement ce sera des longs (word) pour un
système 32 bits, et un (doubleWord) pour un 64 bits.
In fine, sinon, ce n'est pas l'exécutable qui est recherché, mais le fichier
que l'on désir ouvrir, donc on en connaît le nom (xls ou associé) que l'on
passe lors de l'appel, mais j'ai bien peur que la réponse soit un peu trop
complexe par rapport à la question...

--
Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"MichDenis" news:
Bonjour,

Cela ne répond pas directement à la question posée..

dans la procédure : Sub AfficherInformationsApplication()

Il y a ceci :
| LeFichier = X
| 'Recherche l'executable associé au fichier sélectionné
| MonAppli = FindExecutable(LeFichier)

En fait, cela retourne le fichier "Excel.exe" présent sur la machine où
la procédure est lancée et forcément affiche la version de l'exécutable
"Excel" présent sur la machine.

Me semble-t-il, la question est plutôt qu'elle est la version de
l'exécutable
avec laquelle le fichier a été créé ? La procédure suggérée ne répond pas
à cette interrogation.
La question qu'on peut se demander, est-ce qu'un fichier Excel contient
quelque part l'empreinte de la version qu'il l'a créée ? Si le fichier ne
contient pas cette information, il sera difficile de l'extraire !!!




"LE TROLL" discussion :

Bonjour,

ça :

API GetFileVersionInfo

ici :
http://vb.developpez.com/srcvba/?page=vbaFichiers

--
Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"J-L" news:
Bonjour,

Est-il possible de savoir avec quelle version d'Excel (97, 2000, etc.) un
classeur a été généré ?

Je ne trouve rien dans les propriétés.

Merci d'avance de votre aide.

J-L







J-L
Le #19881761
> La question qu'on peut se demander, est-ce qu'un fichier Excel contient
quelque part l'empreinte de la version qu'il l'a créée ? Si le fichier ne
contient pas cette information, il sera difficile de l'extraire !!!



Il serait don cimpossible de connaitre cette information ....
En fait, je programme en delphi et j'ai trouvé un composant qui génére
des fichiers excel en natif. Et j'essayais de voir avec quelle version
d'excel les fichiers étaient compatibles.

Merci de votre aise à touts les deux ...
Je vais envoyer un mail à l'auteur du composant et lui poser la
question.
LE TROLL
Le #19881931
Mais non ce n'est pas impossible, sauf si ça n'existe pas :o)
L'API que j'ai trouvé semble extraire la version d'un fichier, à condition
d'arriver à tout faire tourner...
Sinon tu fais une navigation avec les commandes Dos pour attaque le bon
fichier, tu lis son entête en binaire et tu traduis, y a du boulot, peut
être pour rien, donc avant il faudrait te documenter sur les entêtes de
fichiers produites par Excel, ce serait un début ordonné...

--
Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"J-L" news:
La question qu'on peut se demander, est-ce qu'un fichier Excel contient
quelque part l'empreinte de la version qu'il l'a créée ? Si le fichier ne
contient pas cette information, il sera difficile de l'extraire !!!



Il serait don cimpossible de connaitre cette information ....
En fait, je programme en delphi et j'ai trouvé un composant qui génére des
fichiers excel en natif. Et j'essayais de voir avec quelle version d'excel
les fichiers étaient compatibles.

Merci de votre aise à touts les deux ...
Je vais envoyer un mail à l'auteur du composant et lui poser la question.




LE TROLL
Le #19881921
La condescendance, oui, faudrait déjà regarder de quoi il s'agit, en
l'espèce :

Private Declare Function GetFileVersionInfo Lib "Version.dll" Alias _
"GetFileVersionInfoA" (ByVal lptstrFilename As String, ByVal dwHandle As
Long, _
ByVal dwLen As Long, lpData As Any) As Long

Et elle semble bien donner la version et pendre le chemin du fichier à
pointer, arpès tu pourras faire deux sourire...

ça "MonAppli = FindExecutable(LeFichier)" je ne sais pas ou tu l'as cherché,
mais ça n'a rien à voir avec l'API sus-citée.

--
Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"MichDenis" news:
;-)))





J-L
Le #19886291
LE TROLL a présenté l'énoncé suivant :
Mais non ce n'est pas impossible, sauf si ça n'existe pas :o)
L'API que j'ai trouvé semble extraire la version d'un fichier, à condition
d'arriver à tout faire tourner...




J'ai cherché sur wotsit.org le format des fichiers Excel. J'y ai trouvé
la position (je pense) de la version ainsi que la révision du fichier.
Mais en revanche, je n'ai pas trouvé de référence donnant une
correspondance quelconque pour chaque version.

C'est pas grave, je me passerai de cette fonctionnalitré qui me parait
finalement bien compliqué à réaliser.

Merci pour le coup de main
Publicité
Poster une réponse
Anonyme