IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants VCL Delphi Discussion :

[OLE] Bouton VBA/Macro OK sous Word 2003 mais pas d'execution sur Word 2007


Sujet :

Composants VCL Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 67
    Points : 54
    Points
    54
    Par défaut [OLE] Bouton VBA/Macro OK sous Word 2003 mais pas d'execution sur Word 2007
    Bonjour,

    J'ai un module delphi qui :
    - utilise un modèle Word .dot contenant un bouton de déclenchement d'une macro/vba
    - crée un fichier .doc à partir du modèle .dot
    - ouvre ce fichier .doc dans un TOLEContainer (pour laisser l'utilisateur appuyer sur le bouton et lancer la macro)
    - à la fermeture, enregistre le fichier

    Avec Word 2003, la fenetre TOLEContainer fonctionne normalement mais sous Word 2007, elle affiche bien le fichier .doc généré mais le bouton de déclenchement macro est inactif (comme si c'était une image).

    Si je crée directement un fichier .doc dans les 2 versions 2003 et 2007 (sans passer par TOLEContainer), tout fonctionne sauf le titre de Word 2007 qui ajoute [Mode compatibilité].

    J'ai déjà essayé, sous Word 2007, de modifier les options pour :
    - relaxer les sécurités sur les macro/activex/compléments
    - ajouter le répertoire dans les emplacement autorisés

    Quelqu'un a-t-il une idée ou pourrait-il tester svp ?
    Merci.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 67
    Points : 54
    Points
    54
    Par défaut
    J'ai trouvé la cause du problème.

    En fait, quand l'application génère le fichier .doc à partir du .dot, il ne précise pas le format lors de l'appel de la methode ActiveDocument.SaveAs().

    Par défaut, dans les versions antérieures de Word, c'est le format doc qu'il utilise. Par contre, sous Word 2007, c'est le format docx (même si on donne comme nom de fichier un .doc).... et ce format ne supporte pas les macros.

    Solution : utilisation de ActiveDocument.SaveAs(file, wdFormatWord,...) est c'est reglé.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Macro sous Excel 2003 fonctionne pas sous Excel 2007 pourquoi
    Par Sherman750 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 24/10/2012, 13h13
  2. Réponses: 10
    Dernier message: 17/02/2009, 15h51
  3. Réponses: 6
    Dernier message: 30/05/2008, 17h03
  4. [VBA-W] un doc word copié mais pas ses signets
    Par toome dans le forum VBA Word
    Réponses: 6
    Dernier message: 24/05/2006, 11h19
  5. Réponses: 2
    Dernier message: 23/06/2004, 16h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo