XL 2013 Declare PtrSafe FUNCTION.......

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

escouger

XLDnaute Occasionnel
Bonjour,

J'ai un tableau dans lequel figure l'instruction suivante:

Private Declare PtrSafe Function SetCurrentDirectoryA Lib "Kernel32" (ByVal lpPathName As String) As Long

Je dois déployer ce tableau sur plusieurs PC dont certains sont en 32 bits d'autres en 64 bits.

Avec Private Declare PtrSafe Function SetCurrentDirectoryA Lib "Kernel32" (ByVal lpPathName As String) As Long
cela fonctionne sur les systèmes 64 bits, mais pas sur les 32 bits.

Avec Private Declare Function SetCurrentDirectoryA Lib "Kernel32" (ByVal lpPathName As String) As Long
(donc sans le PtrSafe) cela fonctionne sur les systèmes 32 bits, mais plus sur les systèmes 64 bits.

Pour des questions de maintenance, je ne voudrais pas avoir à gérer 2 tableaux identiques hormis cette option "PtrSafe".
Y-a-t-il un moyen ?

Je ne sais pas :
1) comment tester si le PC est 32 bits ou 64bits?
2) conditionner une instruction "Déclare....

Est-ce-que la version d'Excel entre aussi en ligne de compte concernant ce paramètre PtrSafe ?

Si vous avez une idée pour dépasser ce problème elle sera la bienvenue

Merci d'avance

GE
 

Bonjour, bonjour !

Cela aurait été simple en utilisant les instructions internes au VBA comme [highlight]ChDrive[/code] & [highlight]ChDir[/code] !

_______________________________________________________________________________
Je suis Paris, Charlie, …
 
Re : Declare PtrSafe FUNCTION.......

Bonjour Marc L.
Pouvez vous me dire, que je le sache une bonne fois pour toutes, si ChDir peut être utilisé (je sais déjà que ChDrive ne le peut pas) pour mettre un "\\QuelqueChose" en dossier courant ? Les demandeurs oublient chaque fois de me répondre, et je n'ai aucun réseau local à ma disposition pour faire des tests. Au moins je sais que SertCurrentDirectory marche quand il n'existe pas de lettre de lecteur (ou qu'on ne la connait pas), et positionne tout comme étant courant et ne fait pas comme VBA ce distinguo absurde entre lecteur courant et dossiers courants des différents lecteurs.
 
Dernière édition:

Non pas en réseau avec une adresse UNC, monter alors un lecteur …

En fait le besoin de changer le dossier courant est juste nécessaire
pour GetOpenFileName ou GetSaveAsFileName.

Pour les autres c'est inutile en incluant l'adresse réseau
comme par exemple pour FileDialog et sa propriété InitialFileName

 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
276
Réponses
46
Affichages
2 K
Réponses
7
Affichages
579
Retour