Je penserais à faire plusieurs sujets la prochaine fois ^^
Bon le code est moche mais c'est la faute de jacob ![;)](https://www.developpez.net/forums/images/smilies/icon_wink.gif)
là le code ouvre powerpoint, le fichier, et compte les shapes sur le slide 1.
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| File file=new File("disque_dur.ppt");
Dispatch preses;
ActiveXComponent app = new ActiveXComponent("PowerPoint.Application");
app.setProperty("Visible", new Variant(true));
preses = app.getProperty("Presentations").toDispatch();
Dispatch.call(preses, "Open", file.getAbsolutePath()).toDispatch();
Dispatch press = Dispatch.call(preses,"Item", 1).toDispatch();
Dispatch slides = Dispatch.call(press,"Slides").toDispatch();
Dispatch slide = Dispatch.call(slides,"Item", 1).toDispatch();
Dispatch shapes = Dispatch.call(slide,"Shapes").toDispatch();
Integer countNodes = Dispatch.get(shapes,"Count").getInt(); |
le principe c'est qu'au lieu de faire un appel du genre
presentation.slides(1).shapes
on va créer les objets qui vont bien en appelant les méthodes de cette façon.
Dispatch.call(slide,"Shapes")
Mais au final méthodes sont les mêmes.
je n'y connais rien en VBA, mais de ce que j'ai vu dans mes recherches je peux faire le lien VBA/Java assez facilement donc n'hésitez pas à me parler en VBA
Partager