Macro "*.mso" [VBA] - VB/VBA/VBS - Programmation
Marsh Posté le 09-11-2004 à 13:30:51
PS: c'est un format apparement "compilé".
Il n'est pas lisible.
Par contre, quand on ouvre un fichier généré qui fait appel à ce fichier, les macro à l'intérieur sont lisibles
Marsh Posté le 09-11-2004 à 13:40:38
Désolé pour la question con...
Il suffit de créer un fichier Word tout bête avec une Macro, puis de faire "Enregistrer sous" et choisir "HTML".
Un fichier "*.mso" est alors automatiquement créé dans le répertoire "nomdufichier_files"
http://www.blonnet.com/ew/2003/01/ [...] 310400.htm
Marsh Posté le 09-11-2004 à 15:12:53
Sinon, j'ai un souci...
J'ai plusieurs macros.
Lorsque j'ouvre le fichier depuis un lien internet, j'obtiens un message comme quoi le fichier contient des macros, et que je ne dois pas le charger parceque c'est pas sûr. (normal)
J'ignore le message pour charger les macros.
Par contre, je n'ai pas le second avertissement pour activer ou non les macros.
Lorsque je prends le fichier sur lequel je me suis basé, j'ai rigoureusement le même code au niveau du fichier word lui-même, et pour la macro, je ne vois pas de différence (en fait, j'ai fait un copier/coller de tous les modules et j'ai shooté/remplacé les parties concernées).
Par contre, ce fichier m'ouvre le premier message 5 fois de suis (un peu chiant ) et ensuite me propose d'activer les macros !
Le pire de tout, c'est que mon fichier, même sans ce message contient les macros. Les macros automatiques (document_open, document_new, document_close) sont inutilisables (mais le code est présent) alors que la macro "à la main" "autosave" peut être appelée en faisant ALT+F8, et tourne normalement !!!
Personne ne sais d'où ça peut venir ?
Ca fait 25 fois que je refais le document, que je le tortille dans tous les sens, mais pas moyen.
Voici le code de la macro, tel qu'il est chargé depuis mon lien :
Code :
|
PS: J'ai évidement essayé de me mettre en sécurité minimale, ça ne change rigoureusement rien (mise à part qu'en minimum, je n'ai plus du tout de message d'alerte)
Marsh Posté le 09-11-2004 à 15:14:44
Vous noterez le :
Code :
|
Evidement, il ne s'affiche jamais !
Je pète les plombs
Marsh Posté le 09-11-2004 à 15:32:49
Ha, et j'ai oublié de préciser : Si j'enregistre le document avec les macro foireuses sur mon PC, et que je le réouvre, hop ! Comme par magie les macros fonctionnent normalement
Marsh Posté le 10-11-2004 à 12:08:04
Hallucinant...
J'ai repris le code d'une macro qui marche déjà comme il faut.
J'ai remplacé le MSO du fichier par le mien.
Ca marche.
Plus qu'à modifier le layout du fichier word...
Je pars de ça (après pas mel de nettoyage)
Maintenant, j'ai ça : (c'est pas du tout ce que je veux, moi je veux un document vide avec deux colonnes)
Code :
|
Ben vous le croirez ou non, mais si je vire une ligne "<p class=MsoNormal><span lang=DE style='mso-ansi-language:DE'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p>" ou bien que je supprime un mot dans le texte, ça marche plus !
PS: Nan, c'est pas une histoire de checksum ou je ne sais quoi. Le MSO n'est pas l'original lié à la macro, mais le mien, créé dans un autre document, et avant d'en arriver là, j'ai viré plein de trucs (le pied de page et des images)
Là, je comprends plus
Marsh Posté le 09-11-2004 à 13:29:40
Bonjour,
Je dois faire un fichier Word généré dynamiquement depuis un site web.
Pour faire le fichier Word, je n'ai aucun problème, ça fonctionne.
Par contre, je dois lier une macro à ce fichier.
Un collègue (qui n'est plus ici, et qui n'a pas laissé de doc) a déjà fait ceci, et ça fonctionne bien.
Depuis le document généré dynamiquement, il appelle un fichier "*.mso" contenant la macro.
Ca lève une chiée de warning à l'ouverture, mais c'est pas très dérangeant, et ça marche.
Seulement, depuis l'éditeur de macro de Word, impossible de mettre la main sur une fonction permettant d'exporter une macro sous ce format.
Savez-vous comment faire ?
Depuis Word, je n'arrive même pas à intégrer cette macro manuellement dans un document
Par contre, dynamiquement, aucun problème, il suffit de mettre le lien dans la partie header du fichier Word (au format HTML) :
Comment on fait ça ?