Я написал утилиту MS JScript (для использования в TestComplete SmartBear), которая экспортирует изображения, встроенные в документ Word, в файлы PNG на диске. Когда я запускаю эту утилиту на Win7, с Office 2010 все работает нормально. Но когда я запускаю его на Win8 с Office 2013, я получаю ошибку «недопустимое значение» при передаче фильтра PpShapeFormat в метод экспорта.
Вот соответствующая часть моего сценария:
//get the list of shapes from the word doc, and how many there are
var iShapeList = DocObj.InlineShapes; //DocObj is created elsewhere
var iShapeTotal = iShapeList.count;
//create a powerpoint object and instantiate a presentation
var pptApp = Sys.OleObject("PowerPoint.Application"); //open PowerPoint
var pptDoc = pptApp.Presentations.Add(); //create a new blank document
var pptDocSlide = pptDoc.Slides.Add(1, 12); //12 = ppLayoutBlank
var pptShapeFmt = pptApp.PpShapeFormat; //format filter object
//loop through the Word document shapes, copy each one, paste it to the Ppt slide,
//export the image out of the slide, and then delete it
for(var iShapeNo = 1; iShapeNo <= iShapeTotal; iShapeNo++)
{
var iShape = iShapeList(iShapeNo); //get a shape
iShape.ScaleHeight = hScale; //set the shape height and width
iShape.ScaleWidth = wScale;
iShape.Range.Copy();//copy the shape to the clipboard
try
{
with (pptDocSlide.Shapes.Paste(1)) //PpViewType 1 = Paste into Slide View
{
//Export the image pasted into the slide, to the extract path, then delete the slide.
Export(ExtractPath + "\\" + IntToStr(iShapeNo) + ".png", pptShapeFmt); //2 = ppShapeFormatPNG
Delete();
++successTally; //one more in the WIN column!
}
}
catch(exception)
{
//does a bunch of cleanup
}
}
Изучая PpShapeFormat, я нашел это Перечисление. Но у меня возникли проблемы с поиском какого-либо документа об изменениях между 2010 и 2013 годами, и нет хороших примеров того, как его правильно использовать.
Кто-нибудь знает, что здесь происходит?
Export? - person Helen   schedule 25.07.2013withи подумал, чтоExportэто функция в другом месте кода. - person Helen   schedule 26.07.2013Shapeв PowerPoint 2013 не использует методExport: msdn.microsoft .com/en-us/library/ff746522.aspx - person Helen   schedule 26.07.2013