Cannot Get and Export each Slide in PowerPoint via VC++

Viewed 49

I am using VC++ 2008 to automate PowerPoint. I follow the instructions in https://www.codeproject.com/Articles/2506/Automating-MS-Office-applications

Below is my code snippet:

    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();
    }

When executing the following line

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

I will get "Interface not defined" exception, why?

0 Answers
Related