6
votes

Comment puis-je ajouter une macro à un mot-mot 2010 ou PowerPoint 2010?

dans PowerPoint 2010 ou Word 2010, lorsque j'ai choisi Insertion -> Graphique, il crée un nouveau tableau avec une feuille de calcul Excel pour les données.

Si j'ajoute une macro à la feuille de calcul Excel, cela semble être jeté lors de la fermeture de la feuille de calcul et de le réouvoir.

Cependant, il est est possible d'avoir un graphique avec des macros, car je dispose également de quelques documents de mots et des présentations PowerPoint que j'ai créées dans Office 2003, qui avaient des graphiques Excel incorporés avec des macros. Lorsque j'ai converti de ceux-ci en Office 2010, ils ressemblent à des tableaux de bureau 2010 «normaux», mais les macros sont préservées.

Il me semble que le tableau embarqué créé lorsque vous choisissez Insérer -> Le graphique est dans le format "PPTX" plutôt que le format "PPTM", et les macros ne sont pas sauvegardés.

(Si je demande activeworkbook.fileformat, je reçois "51", qui est "Ouvrir une feuille de calcul XML"; c'est vraiment "PPTX", par opposition à "Ouvrir une feuille de calcul XML avec des macros", qui est "52").

Comment puis-je insérer un graphique avec le comportement "PPTM"? Ou changer le comportement d'un tableau existant?


Remarque: je ne veux pas insérer un graphique "objet", car cela signifie que le graphique n'est pas modifiable dans l'application hôte (il insère simplement un graphique Excel que vous devez "ouvrir" afin de le modifier) .


Permettez-moi de vous donner une tête de départ ... je peux réaliser ce que je veux par la méthode suivante:

  1. créer un nouveau document dans Word (ou PowerPoint).
  2. Enregistrez le document sous forme de document 97-2003 (qui le force en mode de compatibilité).
  3. Insérez un graphique à l'aide d'Insertion-> Object-> Graphique Microsoft Excel. Cela intègre un graphique Excel de style ancien.
  4. Ouvrez le tableau intégré à la souris sur le clic droit-> Ouvrir et ajoutez une macro.
  5. Fermez la carte, puis choisissez Fichier-> Info et utilisez le bouton de compatibilité "Convertir" pour convertir le document en un document Office 2010.

    Maintenant, vous avez un graphique «natif» ou PowerPoint 2010, que vous pouvez modifier directement dans Word ou PowerPoint. Si vous cliquez sur le tableau et choisissez Outils de graphique -> Conception-> Modifier les données, puis la feuille de calcul Excel qui s'ouvre a les macros que vous avez créées à l'étape 4. Succès!

    Maintenant, quelqu'un a-t-il un moyen plus simple?


5 commentaires

Vous pouvez simplement être capable de migrer la macro vers les modules de code Word / PPT et de manipuler le charcutobject Ainsi: Stackoverflow.com/a/16263736 / 1467082 . Je n'écris normalement pas à la feuille de calcul cartdata , mais cela pourrait être fait, si nécessaire. Il existe des bizarreries avec Chartobjects dans PPT / DOC, mais surtout, il vous sera familier, si vous connaissez Excel VBA.


@Davidzemens: Oui, je pourrait faire cela, mais avec des dizaines de graphiques dans un document que cela devient très très désordonné. Il est beaucoup plus pratique que mes fins de conserver le code associé au graphique (données) qu'il manipule.


C'est un peu laids, mais vous pouvez intégrer une feuille de calcul Excel (insertion -> objet -> du fichier) car cela conservera les macros. Je suppose que cela dépend de ce que font les macros et comment vous les déclenchez.


@Cuberchase: J'ai besoin que le fichier soit autonome, donc un lien vers un classeur externe ne conviendrait pas. En outre, le graphique n'est plus modifiable dans l'application hôte, qui est le comportement que vous obtenez avec un tableau "natif".


Vous avez peut-être vu Ce Déjà ... mais vaut toujours un coup de feu


3 Réponses :


2
votes

À mon avis, vous pouvez réaliser ce dont vous avez besoin de la manière suivante:

(Malheureusement, je ne peux pas le présenter avec des images et des commandes anglaises exactes que j'utilise local - non anglais-version de bureau)

  • Choisissez insert >> objet >> objet ...
  • dans Fenêtre d'objet Prenez la première page (comme Créer de nouvelles )
  • Recherchez Microsoft Excel Graphique (ou quelque chose de similaire) et appuyez sur OK
  • Vous obtiendrez Coin classeur avec deux feuilles comme présenté sur la photo ci-dessous

    Entrez l'image Description ici

    (il existe une fonctionnalité d'édition de graphique disponible sur le ruban)

    • Appuyez sur ALT + F11 pendant que vous êtes dans l'édition graphique comme présenté dans le image ci-dessus. Vous obtiendrez l'IDE pour Excel ouvert où vous trouverez cahier approprié.
    • Ajouter un nouveau module et macro là
    • Vous pourriez maintenant EDIT EXIT EDITION dans Word et Enregistrer le document comme *. DOCM
    • Après que vous ROPEN IT , allez à l'édition graphique (double-clic) >> alt + f11 >> vous allez Trouvez votre macro qui a été enregistrée dans le classeur avec * docm extension.

7 commentaires

Malheureusement, cette méthode crée un classeur Excel incorporé, plutôt qu'un mot natif ou une carte PowerPoint. Ce n'est pas ce que j'essaie d'atteindre. Avec cette méthode, le graphique n'est que modifitable après l'activer (en double-cliquant dessus dessus, ou en cliquant sur le bouton droit de la souris et en choisissant "Ouvrir").


Je pense que c'est l'option utilisée dans Office 2003 que vous faites référence. Il garde les fonctions de «carte native» du bureau 2007/2010 comme le formatage.


Permettez-moi d'expliquer ce que je veux dire: si je crée un graphique en choisissant "Insertion-> Graphique" à partir de Word ou PowerPoint 2010, le graphique est en réalité un graphique Word / PowerPoint, pas un graphique Excel. Le mot et le point PowerPoint ont leur propre modèle d'objet pour ces graphiques, ce qui est similaire à - mais pas identique à la version Excel. Et lorsque vous créez des graphiques comme celui-ci, vous pouvez sélectionner la série et le formater directement dans Word ou PowerPoint, plutôt que d'avoir à «activer» le tableau pour le faire dans Excel. C'est le genre de tableau que j'essaie de créer.


Je pense que Microsoft Idea était de se débarrasser de cette fonctionnalité dans la nouvelle version de bureau, car vous avez plus d'options pour coder tous les éléments des graphiques du point de vue Word / PP. Par conséquent, je ne pense pas que ce soit possible, ce que vous recherchez exactement. (Si je me trompe, je vais supprimer ce commentaire :)). Bien sûr, ils ont tenu d'anciennes options utilisées dans Office 2003 qui est présentée dans ma réponse. Il existe des différences entre ces deux types de graphiques, mais les lots sont similaires. Mais si l'objectif est d'avoir macro intégré que ma proposition semble être l'une des possibilités. J'ai hâte de connaître une solution s'il existe.


Voir ma question mise à jour; Si vous souhaitez copier-coller-coller en une réponse, cela ne vous dérange pas de vous donner les points en retour pour le temps que vous avez passé à essayer d'aider. (Bien que si quelqu'un arrive avec une meilleure réponse ...)


@Garymcgill, à mon avis, une prime d'opinion devrait être donnée pour une réponse correcte, pas pour le temps passé :) Cela ne me dérange pas si je perds! J'y regarderai à nouveau bientôt.


@GaryMcGill, j'ai fait des chèques supplémentaires et je n'ai aucune idée de la façon de le faire différemment de la présentation ci-dessus et décrite par vous dans votre édition de votre question. Pour être honnête, j'aime la façon dont vous le faites ...



0
votes

Le problème concerne la manière dont les données de graphiques sont conservées dans l'application. La conversion et l'origine sont deux processus différents. Votre série de données est essentiellement un tableau et non une feuille Excel. Il utilise simplement Excel pour afficher les données à modifier. Vous devez conserver votre code dans le module pour PowerPoint / Word et accéder au graphique via l'objet Formes si vous ne souhaitez pas incorporer une feuille Excel. XXX


1 commentaires

Désolé, mais je pense que c'est complètement faux. La série de données n'est pas un tableau - il peut contenir des formules ainsi que des macros, etc. Voir la dernière partie de ma question où j'explique un moyen d'y parvenir. Et comme je l'ai expliqué dans les commentaires, mettez le code dans le mot / PowerPoint n'est pas la solution que je recherche.



1
votes

Maintenant que la prime est passée (sans meilleures réponses), je vais ajouter la réponse partielle de ma question, afin de pouvoir fermer la question.


  1. créer un nouveau document dans Word (ou PowerPoint).
  2. enregistrer le document comme un document 97-2003 (qui le force en mode de compatibilité).
  3. insérer Un graphique utilisant l'insert-> Object-> Microsoft Excel Graphique. Cela intègre un Tableau Excel de style ancien.
  4. Ouvrez le tableau intégré à la souris sur le clic droit-> ouvert, et ajouter une macro.
  5. Fermer le tableau, puis choisissez Fichier-> Info et utilisez le Mode de compatibilité "Convertir" bouton pour convertir le document en un Document de bureau 2010.

    Maintenant, vous avez un graphique «natif» ou PowerPoint 2010, que vous pouvez modifier directement dans Word ou PowerPoint. Si vous cliquez sur le tableau et choisissez Outils de graphique -> Conception-> Modifier les données, puis la feuille de calcul Excel qui s'ouvre a les macros que vous avez créées à l'étape 4. Succès!

    Je suis toujours intéressé à pouvoir le faire plus directement ...


0 commentaires