Dysfonctionnement GetSaveFileName sous outlook VBA

Signaler
Messages postés
63
Date d'inscription
lundi 6 octobre 2003
Statut
Membre
Dernière intervention
25 juin 2013
-
Messages postés
63
Date d'inscription
lundi 6 octobre 2003
Statut
Membre
Dernière intervention
25 juin 2013
-
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

Messages postés
672
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
2 juin 2016
1
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.
Messages postés
63
Date d'inscription
lundi 6 octobre 2003
Statut
Membre
Dernière intervention
25 juin 2013

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