|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2006 Messages : 65 ![]() |
Quand on ouvre un nouveau document, il prend le nom de DocumentN, avec N incrémenté.
ActiveDocument.Name est en lecture seule. Pourtant, je voudrais (dans certains cas seulement) imposer le nom par défaut du nouveau document que je viens de créer par macro (en fait, en pilotage depuis Delphi, mais peu importe), mais pour autant je ne compte pas sauvegarder ce document (ça a l'air absurde comme ça, hors contexte, mais ça m'aiderait bien). Rien trouvé dans la faq... Merci de votre aide... |
|
|
00
|
|
|
#2 |
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Crée un tableau de tes noms de classeurs que tu redim à chaque nouvelle création et utilise le tableau. Je n'ai pas d'autre idée
|
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() Inscription : novembre 2006 Messages : 1 465 ![]() |
peut etre bien que tu dois créer un modele. en fait classeur1 est le modele classeur
si tu crée une facture d'apres le modele facture, il s'appelle facture1, donc, et ne me demande pas plus de détails, je ne sais pas exactement comment on fait, mais tu dois créer ton modele avec tes parametres , tes formats, ce genre de chose, puis enregistrer sous, et en type de fichier, il y a *.xlt, modeles. a partir de la , par le code,, admettons que ton fichier model s'appelle machose.xlt. quand tu fais fichier nouveau, c'est machose1 qui se crée, que tu es libre d'enregistrer ou non. |
|
|
00
|
|
|
#4 |
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
POur enregistrer un nouveau modèle à partir de "Document1" (vide de toute macro) c'est facile, tu fais "Enregistrer sous... Modèle .xlt" tu mets le nom voulu et tu l'enregistres avec les autres modèles, mais... ton appli ne sera pas transportable à moins de placer le modèle sur les différents postes distribués
|
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2006 Messages : 65 ![]() |
Visiblement il n'y a pas moyen, snif.
Je me disais qu'il devait bien y avoir quelque part un paramètre qui fournit le string "document" ou "classeur" auquel Office concatène un numéro pour former le nom par défaut. Et que ce paramètre est modifiable puisqu'il est différent de la version anglaise à la version française... Faut juste trouver lequel c'est Merci de vos propositions en tout cas. |
|
|
00
|
|
|
#6 |
![]() ![]() Alain GerardConsultant informatique Inscription : mai 2005 Messages : 3 676 ![]() |
Si tu nous expliquais ton but, on pourrait, peut-être, te trouver quelque chose.
Ce nom doit-il apparaître pour l'utilisateur ou en as-tu besoin pour ton programme? Dans le deuxième cas, la création d'une instance du classeur doit pouvoir t'aider:
__________________
N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres! Pensez aussi à voter pour les réponses qui vous ont aidés. ------------ Je dois beaucoup de mes connaissances à mes erreurs! |
|
|
00
|
|
|
#7 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2006 Messages : 65 ![]() |
En fait, c'est à la fois pour le programme et pour l'utilisateur.
Mon appli (Delphi) génère automatiquement des documents sur base de paragraphes puisés dans une base de données, puis les soumet à l'utilisateur qui peut le sauvegarder ou pas. Selon le type de document généré, il doit avoir des noms différents, des noms codifiés en fait, et je ne peux pas demander à l'utilisateur de taper ces noms biscornus (enfin si je peux, mais ils vont râler ferme )Or ce nom, je peux facilement le générer par programme. Donc, pour le moment, je sauvegarde le document dans un répertoire temporaire en le nommant, mais du coup, il arrive à certains utilisateurs de ne pas l'enregistrer au bon endroit. Bref, si j'arrive à lui donner le bon nom par défaut, c'est plus zoooli Je vais regarder pour ta suggestion, la piste me paraît bonne, me reste à l'adapter au pilotage OLE via Delphi... Merci en tout cas ! Paul |
|
|
00
|
|
|
#8 |
![]() ![]() ![]() |
Moi, je créerai 2 classes
__________________
1formaxion, une formation de qualité, des formateurs compétents Mes tutoriels et vidéos : Tableaux croisés dynamiques, Access les Bases, et les autres ! |
|
00
|
|
|
#9 | |||
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Citation:
Code :
Bien sûr, tu peux prendre le nom "ailleurs" |
|||
|
|
00
|
|
|
#10 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2006 Messages : 65 ![]() |
Ah ouiiiiiiiiiiiiiiiiiiiiiiiiiii mais bien sûr, Exécuter une macro dans l'événement de mon document... Ouah, merci !
Bon reste à trouver comment créer une macro dans un document Word par programme, mais ça c'est beaucoup plus un problème Delphi, je pense... Bon, avant de mettre résolu, p'tite question : est-ce qu'il y a moyen aussi d'intercepter l'événement Save ? M'en vais chercher ici où on peut trouver la liste des événements qu'on peut intercepter dans les macros, et la syntaxe. Merci encore ! |
|
|
00
|
|
|
#11 |
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Pour connaître les événements d'un classeur, tu fais F2 dans l'éditeur VB -> Workbook -> les éclairs représentent les événements de l'objet.
|
|
|
00
|
|
|
#12 | |
![]() ![]() ![]() |
Citation:
et tu crées tes docs à partir du modèle...
__________________
1formaxion, une formation de qualité, des formateurs compétents Mes tutoriels et vidéos : Tableaux croisés dynamiques, Access les Bases, et les autres ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com