Intercepter la boîte de saisie enregistrement

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,
Peut être l'un d'entre vous pourra m'aider ?
Mon problème est le suivant :
Je souhaite à chaque enregistrement de fichier (qu'elle que soit l'application) pouvoir donner un nom de fichier avec une structure prédéterminée et une fois fait aller l'enregistrer dans un répertoire défini en fonction du nom donné. En fait c'est de la Ged qui ne veut pas dire son nom.
Actuellement ce système fonctionne sur toutes les applications office et plus généralement les applications supportant le VBA.
Je souhaiterais étendre ce fonctionnement à toutes les applications et programmer en VB.NET.
Mon idée serait soit de :
rajouter un bouton dans la boîte de saisie d'enregistrement qui permettrait de lancer la boîte de saisie de mon application et de récupérer le nom et le chemin.
soit de :
Intercepter l'ouverture de la boîte d'enregistrement lors des sauvegardes et d'y substituer la boîte de saisie de mon application.
Je ne sais pas si c'est clair.
Merci pour vos idées

RLAPT

8 réponses

Messages postés
1207
Date d'inscription
dimanche 20 avril 2003
Statut
Membre
Dernière intervention
4 juin 2016
9
Bonjour,

Je ne connais pas .NET, mais je peux essayer de t'aiguiller.

D'abord s'il s'agit d'ajouter ce bouton sur tes applis persos cela doit être possible, mais si tu veux le faire AUSSI sur des applis tierces parties (comme Adobe Reader par exemple) je ne pense pas que cela soit possible à moins de faire une DLL et de remplacer à l'install la DLL Microsoft responsable de la boîte de dialogue. De plus Office utilise une version customisée et ce sera beaucoup plus difficile à obtenir avec elles. Il existe un Shareware très bon marché et absolument génial qui le fait (FileEx). Je l'utilise depuis Win 3.x (eh oui !) mais il est incompatible avec Win 7.

Quant à tes applis je crois qu'en utilisant l'API et non le contrôle fourni avec VB, cela est possible mais je ne sais pas trop comment.

Bonne chance en tout cas et tiens-moi au courant.


Calade
Messages postés
63
Date d'inscription
lundi 6 octobre 2003
Statut
Membre
Dernière intervention
25 juin 2013

Bonjour,

Merci d'avoir pris le temps de me donner vos commentaires.

En fait j'utilise déjà l'API de la boîte d'enregistrement dans les macros VBA.

En fait la vrai difficulté pour moi est d'intercepter l'enregistrement d'un fichier avant d'entrer dans la boîte de saisie.

Tous les GED fonctionnent après avoir donné un nom au fichier. Alors que je voudrais contrôler le nom du fichier avant l'enregistrement.

Je continu à chercher et toute aide est la bien venue. Mais Je commence à désespérer.

RLAPT
Messages postés
1207
Date d'inscription
dimanche 20 avril 2003
Statut
Membre
Dernière intervention
4 juin 2016
9
Je crois que je n'ai pas tout saisi.

Avant enregistrement, tu donnes un nom à ton fichier, nom qui est fixé par ton applicatif.

Là où je ne saisis pas, c'est ce que tu veux dire par:

En fait la vrai difficulté pour moi est d'intercepter l'enregistrement d'un fichier avant d'entrer dans la boîte de saisie



Calade
Messages postés
63
Date d'inscription
lundi 6 octobre 2003
Statut
Membre
Dernière intervention
25 juin 2013

Bonsoir,

En effet, l'application structure le nom du fichier en fonction de paramètres propres à notre société puis, au vu de ces paramètres, positionne la boîte d'enregistrement sur le répertoire où il doit être sauvegardé avec le nom structuré.

Donc il faut bien intercepter la demande d'enregistrement de l'application génératrice du fichier avant que la boîte de saisie d'enregistrement apparaisse et à la limite, supprimer son apparition.

Ceci se fait très bien sous office puisque l'on peut reprogrammer les boutons des barres d'outils. C'est encore plus vrai avec Outlook où là il faut aller modifier le sujet avant d'envoyer le mail.

Tout cela nous sert à faire du suivi documentaire.

RLAPT
Messages postés
1207
Date d'inscription
dimanche 20 avril 2003
Statut
Membre
Dernière intervention
4 juin 2016
9
Bonjour,

Alors je ne vois pas où est le problème.
Quand l'utilisateur clique sur le bouton "Enregistrer" (ou son équivalent dans ton application), to détermines son nom et en fonction du résultat tu fais ou non apparaître cette fameuse boîte de dialogue.

A moins que quelque chose ne m'échappe.


Calade
Messages postés
63
Date d'inscription
lundi 6 octobre 2003
Statut
Membre
Dernière intervention
25 juin 2013

Bonsoir,

Revenir au message de départ.

"Je souhaiterais étendre ce fonctionnement à toutes les applications et programmer en VB.NET. "

Toutes les applications ne supportent pas VBA ou n'acceptent pas de programmation. De plus même dans la suite office une bonne partie du code est spécifique pour chaque application.

RLAPT
Messages postés
1207
Date d'inscription
dimanche 20 avril 2003
Statut
Membre
Dernière intervention
4 juin 2016
9
Bonjour,

En ce qui concerne Office, il utilise une version customisée de la boîte de dialogue, et au moins pour Excel (dont je suis sur) d'un évènement (BeforeClose() si ma mémoire est bonne) à chaque fermeture d'onglet.

Pour les autres applicatifs qui supportent un langage de programmation (je pense à Paint Shop Pro qui intégre Python), à voir si l'équivalent existe.

Quant aux autres je ne vois pas d'autre solutions que de shunter la boîte de dialogue Microsoft. Un tel développement, s'il reste à priori possible y compris en VB6 nécessite une installation spécifique puisqu'elle doit remplacer la DLL MS;

A titre d'exemple le shareware dont je te parlais était développé en Delphi à ma connaissance.

Sujet passionnant et qui m'intéresse aussi car je trouve cette fameuse boîte inbittable.

Bonne chance.

Calade
Messages postés
63
Date d'inscription
lundi 6 octobre 2003
Statut
Membre
Dernière intervention
25 juin 2013

Merci , Calade

RLAPT