Dieser Artikel beschreibt die Microsoft PowerPoint mithilfe von Microsoft Visual j++ 6.0 automatisieren. Sie können auch ähnlicher Code und ähnliche Verfahren zum Automatisieren von anderen Microsoft Office-Anwendungen anwenden.
Gehen Sie folgendermaßen erstellen und Ausführen des Beispiels Visual j++ vor.
Starten Sie Visual j++ 6.0. Erstellen Sie ein neues Konsolenanwendungsprojekt und nennen Sie es JavaPpt.
Öffnen Sie im Fenster Projektexplorer Ihre Project -Struktur, und doppelklicken Sie auf die Class1.java -Datei für Sie erstellt wurde.
Im Menü Projekt klicken Sie auf COM-Wrapper hinzufügen , klicken Sie auf Microsoft PowerPoint 8.0-Objektbibliothek (oder für PowerPoint 2000 9.0 oder 10.0 für PowerPoint 2002.) und klicken Sie dann auf OK . Java COM-Wrapper, die von PowerPoint Typ Bibliothek msppt8.olb, zu Ihrem Projekt abgeleitet sind hinzugefügt. Der Typ Bibliothek für PowerPoint 2000 heißt msppt9.0lb. Der Typ Bibliothek für PowerPoint 2002 ist msppt.olb.
Fügen Sie am oberen Rand der Datei Class1.Java die folgenden Import-Anweisungen:
import msppt8.*; // PowerPoint support. Use msppt9.* for 2000, and msppt.* for 2002
import com.ms.com.*; // Variant & exception support.
import java.lang.InterruptedException; // Needed for Thread.sleep().
Fügen Sie in der Main()-Funktion den folgenden Code:
// Force COM objects to be created on the current thread.
// Otherwise, older VMs might not release all references
// and PowerPoint might continue to run after you shutdown.
ComLib.declareMessagePumpThread();
// Launch PowerPoint.
Application app = new Application();
// Add a presentation.
Presentation pres = app.getPresentations().Add(1);
// Add a slide with text layout.
Slide slide1 = pres.getSlides().Add(1, PpSlideLayout.ppLayoutText);
// Add text to slide.
slide1.getShapes().Item(new Variant(1)).getTextFrame().getTextRange().setText("My first slide");
slide1.getShapes().Item(new Variant(2)).getTextFrame().getTextRange().setText("Automating PowerPoint is easy!\r\nUsing VJ++ is fun.");
// Add another slide, but with text and chart.
Slide slide2 = pres.getSlides().Add(2, PpSlideLayout.ppLayoutTextAndChart);
// Add text to slide.
slide2.getShapes().Item(new Variant(1)).getTextFrame().getTextRange().setText("Slide 2's topic");
slide2.getShapes().Item(new Variant(2)).getTextFrame().getTextRange().setText("You can create and use charts in your PowerPoint slides!");
// Add chart where default chart is.
{
Variant index = new Variant(3);
float top = slide2.getShapes().Item(index).getTop();
float width = slide2.getShapes().Item(index).getWidth();
float height = slide2.getShapes().Item(index).getHeight();
float left = slide2.getShapes().Item(index).getLeft();
slide2.getShapes().AddOLEObject(left, top, width, height, "MSGraph.Chart", "", 0, "", 0, "", 0);
// Remove old/default chart.
slide2.getShapes().Item(index).Delete();
}
// Add another slide, but with text and org-chart.
Slide slide3 = pres.getSlides().Add(3, PpSlideLayout.ppLayoutOrgchart);
// Add title for this slide.
slide3.getShapes().Item(new Variant(1)).getTextFrame().getTextRange().setText("The rest is only limited by your Imagination");
// Add a new org chart where existing one is.
{
Variant index = new Variant(2);
float top = slide3.getShapes().Item(index).getTop();
float width = slide3.getShapes().Item(index).getWidth();
float height = slide3.getShapes().Item(index).getHeight();
float left = slide3.getShapes().Item(index).getLeft();
slide3.getShapes().AddOLEObject(left, top, width, height, "OrgPlusWOPX.4", "", 0, "", 0, "", 0);
// OrgPlusWOPX.4 is provided by the Microsoft Organization Chart application.
// Remove old/default org-chart.
slide3.getShapes().Item(index).Delete();
}
// Setup slide-show properties.
{
Variant varOpt = new Variant();
varOpt.noParam();
SlideShowTransition sst;
sst = pres.getSlides().Range(varOpt).getSlideShowTransition();
sst.setEntryEffect(PpEntryEffect.ppEffectRandom);
sst.setAdvanceOnTime(1);
sst.setAdvanceTime(5); // 5 seconds per slide
sst = null;
}
{
SlideShowSettings sss;
sss = pres.getSlideShowSettings();
sss.setShowType(PpSlideShowType.ppShowTypeKiosk);
sss.setLoopUntilStopped(1);
sss.setRangeType(PpSlideShowRangeType.ppShowAll);
sss.setAdvanceMode(PpSlideShowAdvanceMode.ppSlideShowUseSlideTimings);
// Run slide show...
sss.Run();
sss = null;
}
// Sleep for a while so user can watch slide show.
try {
Thread.sleep(15000);
} catch(InterruptedException e) {}
// Stop slide show.
try {
pres.getSlideShowWindow().getView().Exit();
} catch(ComFailException e) {}
// Clean up.
pres.Close();
app.Quit();
slide3 = null;
slide2 = null;
slide1 = null;
pres = null;
app = null;
Klicken Sie im Menü Debuggen auf Starten (oder drücken Sie F5) erstellen und Ausführen des Beispiels.
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 215484
(http://support.microsoft.com/kb/215484/en-us/
)
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
Bitte geben Sie Ihr Feedback zu diesem Artikel ab
Hat dieser Artikel bei der Lösung Ihres Problems geholfen?
Ja
Nein
Ich weiß nicht
Waren die Informationen für Ihr Problem relevant?
Ja
Nein
Wie könnte man den Artikelinhalt verbessern?
Hinweis: Leider können wir keine Kommentare persönlich beantworten.
Danke! Dieses Feedback hilft uns dabei, die Supportartikel weiter zu verbessern. Weitere Informationen finden Sie auf der Hilfe und Support-Startseite.