Не удается получить и экспортировать каждый слайд в PowerPoint через VC

#visual-c #automation #powerpoint

#visual-c #автоматизация #powerpoint

Вопрос:

Я использую VC 2008 для автоматизации PowerPoint. Я следую инструкциям в https://www.codeproject.com/Articles/2506/Automating-MS-Office-applications

Ниже приведен мой фрагмент кода:

     CApplication app; // Create a Microsoft PPTX application

    if (app.CreateDispatch(_T("Powerpoint.Application")))
    {
        CPresentations p = app.get_Presentations();
        CPresentation ap;
        CSlides Slides;
        CSlide Slide;
        CPageSetup PageSetup;
        long lIndex, lCount;
        CString strFileName;
        double ratio;

        //  Open the presentation as ReadOnly, with the original title, and hide the window
        ap = p.Open(_T("F:\Test\PPTX\a.ppt"), msoTrue, msoFalse, msoFalse);

        PageSetup = ap.get_PageSetup();

        Slides = ap.get_Slides();

        lCount = Slides.get_Count();

        VARIANT vMissing; // VARIANT defining a missing/optional parameter.
        vMissing.vt = VT_ERROR;
        vMissing.scode = DISP_E_PARAMNOTFOUND;

        for (lIndex = 0; lIndex < lCount; lIndex   )
        {
            Slide = Slides.Item(COleVariant(lIndex));   // <---------This line will cause exception
            strFileName.Format(_T("F:\Test\PPTX\d\s%d.jpg"), lIndex);
            Slide.Export(strFileName, _T("JPG"), 500, 500);
        }

        app.Quit();
    }
  

При выполнении следующей строки

 Slide = Slides.Item(COleVariant(lIndex));
  

Я получу исключение «Интерфейс не определен», почему?