Stavím si doplnok pre PowerPoint a potrebujete mať prístup k objektom Slides or Slide, alebo dokonca celej prezentácii, bohužiaľ, jediná metóda, ktorú môžem vidieť, je otvoriť Nový ppt súbor. Práve teraz "musím sa uchýliť k hackej metóde ukladania aktuálnej prezentácie a jej opätovného otvorenia s balíčkom, aby som mohol manipulovať s čímkoľvek (konkrétnejšie, že som musel mať SHA objekty Slide zo súboru pptx, aby som zistil, či sa zmenili - nie je ideálny)
Existuje nejaký spôsob, ako otvoriť súbor, ktorý je v súčasnosti otvorený v programe PowerPoint bez nutnosti súboru IO?
Vďaka za vašu pomoc, P
odpovede:
0 pre odpoveď č. 1Predpokladám, že ste vytvorili PowerPoint (2007/2010) Add-In Project vo VisualStudio. Vo všeobecnosti môžete pristupovať k aktívnej prezentácii so statickou triedou Globals
tadiaľto:
Globals.ThisAddIn.Application.ActivePresentation.Slides[slideIndex] ...
Upraviť: Príklad použitia:
using PowerPoint = Microsoft.Office.Interop.PowerPoint;
...
try
{
int numberOfSlides = Globals.ThisAddIn
.Application.ActivePresentation.Slides.Count;
if (numberOfSlides > 0)
{
// get first slide
PowerPoint.Slide firstSlide = Globals.ThisAddIn
.Application.ActivePresentation.Slides[0];
// get first shape (object) in the slide
int shapeCount = firstSlide.Shapes.Count;
if (shapeCount > 0)
{
PowerPoint.Shape firstShape = firstSlide.Shapes[0];
}
// add a label
PowerPoint.Shape label = firstSlide.Shapes.AddLabel(
Orientation: Microsoft.Office.Core
.MsoTextOrientation.msoTextOrientationHorizontal,
Left: 100,
Top: 100,
Width: 200,
Height: 100);
// write hello world with a slidenumber
label.TextFrame.TextRange.Text = "Hello World! Page: ";
label.TextFrame.TextRange.InsertSlideNumber();
}
}
catch (Exception ex)
{
System.Windows.Forms.MessageBox.Show("Error: " + ex);
}