Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Version de fichier

8 réponses
Avatar
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

8 réponses

Avatar
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" a écrit dans le message de
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




Avatar
MichDenis
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" <le a écrit dans le message de groupe de discussion :

Bonjour,

ça :

API GetFileVersionInfo

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

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


"J-L" a écrit dans le message de
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




Avatar
LE TROLL
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" a écrit dans le message de
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" <le a écrit dans le message de groupe de
discussion :

Bonjour,

ça :

API GetFileVersionInfo

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

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


"J-L" a écrit dans le message de
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







Avatar
MichDenis
Avatar
J-L
> 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.
Avatar
LE TROLL
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" a écrit dans le message de
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.




Avatar
LE TROLL
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" a écrit dans le message de
news:
;-)))





Avatar
J-L
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