Achei duas bibliotecas para isto:
- Jawin: Muito boa e facílima de usar. Mas parece que não está mais sendo desenvolvida. Como é open-source, não tem problema. Se tiver algum bug, dá para resolver.
- Jacob: Continua em desenvolvimento, mas não é tão fácil de usar quanto a Jawin. Também é open-source.
Olha um exemplo de automação do PowerPoint, feito com a Jawin:
Ole32.CoInitialize();
DispatchPtr app = new DispatchPtr("PowerPoint.Application");
app.put("Visible", true);
DispatchPtr preses = (DispatchPtr)app.get("Presentations");
DispatchPtr pres = (DispatchPtr) preses.invoke("add", new Integer(-1));
DispatchPtr slides = (DispatchPtr)pres.get("Slides");
DispatchPtr slide = (DispatchPtr) slides.invoke("Add", new Integer(1), new Integer(2));
DispatchPtr shapes = (DispatchPtr)slide.get("Shapes");
DispatchPtr shape = (DispatchPtr) shapes.invoke("Item", new Integer(1));
DispatchPtr frame = (DispatchPtr)shape.get("TextFrame");
DispatchPtr range = (DispatchPtr)frame.get("TextRange");
range.put("Text", "Use Jawin to call COM objects");
Ole32.CoUninitialize();
Este fonte acima cria uma apresentação do PowerPoint, adiciona um slide e coloca o título: "Use Jawin to call COM objects". Funciona mesmo. Por mim, o Jawin já ganha do Jacob mesmo... :-)
Nenhum comentário:
Postar um comentário