Dysfonctionnement GetSaveFileName sous outlook VBA

cs_rlapt Messages postés 63 Date d'inscription lundi 6 octobre 2003 Statut Membre Dernière intervention 25 juin 2013 - 12 oct. 2009 à 15:54
cs_rlapt Messages postés 63 Date d'inscription lundi 6 octobre 2003 Statut Membre Dernière intervention 25 juin 2013 - 12 oct. 2009 à 20:53
Bonjour,

J'utilise la fonction GetSaveFileName dans une macro sous outlook.

Cette fonction fonctionne généralement assez bien et permet à l'utilisateur de choisir le dossier ou enregistrer un mail.

Dans certains cas cette fonction ne fonctionne pas correctement. Pourtant j'ai appliqué me semble-t'il l'ensemble des paramètrages comme sur l'exemple donné.

With structSave
.hwndOwner = Handle
.nMaxFile = 255
.lpstrFile = NomFichier & String$(255 - Len(NomFichier), 0)
.lpstrInitialDir = Chemin
.lpstrFilter = "Tous (*.*)" & Chr$(0) & "*.*" & Chr$(0) 'Définition du filtre (aucun)
.flags = &H14 'Option de la boite de dialogue
.lStructSize = Len(structSave)
End With
Tempo = GetSaveFileName(structSave)

le fonctionnement en cas de dysfonctionnement est le suivant :

Sur la ligne Tempo = GetSaveFileName(structSave)
Rien ne se passe et à la ligne suivante Tempo = 0 (variable variant)

Avez-vous une idée ?

Merci d'avance à tous

RLAPT

2 réponses

cs_loulou69 Messages postés 672 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 2 juin 2016 1
12 oct. 2009 à 17:34
Bonjour
Je pense qu'il faut revoir la ligne Flags= en utilisant des constantes , je suis étonné par cette valeur &H14 qui me semble etre à utiliser pour la selection de fichier multiple sur un Open et pas un Save. Reste à bien mettre les constrantes en définition et à valider l'utilisation d'une combinaison de flags autorisées pour l'enregistrement.
0
cs_rlapt Messages postés 63 Date d'inscription lundi 6 octobre 2003 Statut Membre Dernière intervention 25 juin 2013
12 oct. 2009 à 20:53
Merci de votre aide. Je vais vérifier demain ce que font ces constantes.

Par contre une chose m'étonne, pourquoi ça fonctionne dans certains cas et pas dans d'autres.

En effet, j'utilise cette procédure dans une autre partie du programme et ça fonctionne.

Autre problème que je n'arrive pas a résoudre ; lors de certaines utilisation de cette procédure la fenêtre se place derrière le fenêtres active et donc le système attend et on ne voit pas la boîte de saisie getsavfilename.

Meric d'avance si vous avez encore quelques idées.

RLAPT
0
Rejoignez-nous