首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

妖怪哥帮忙啊数据保存到第二张幻灯片的文本框

2013-01-02 
妖哥帮忙啊!数据保存到第二张幻灯片的文本框本帖最后由 ss18618 于 2010-12-08 10:06:00 编辑妖哥及各位前

妖哥帮忙啊!数据保存到第二张幻灯片的文本框
本帖最后由 ss18618 于 2010-12-08 10:06:00 编辑 妖哥及各位前辈:
    我在用BCB6.0做个小软件,在表单上添加了PowerPointApplication;PowerPointPresentation;PowerPointSlide控件。首先用个按钮打开指定在D盘的做好的PPT文件,但用PowerPointApplication1->Connect();只能打开空白的PowerPoint程序,用PowerPointApplication1->ToConnect('D://主题.ppt');又报错,这该怎么写啊?而且还要放映该幻灯片。
    然后再用一个按钮将Edit21->Text到Edit26->Text中的数据保存到'D://主题.ppt'中的第二张幻灯片的文本框中,该怎么做啊?
   分有点少,只有这么多,对不起大家,以后再发个帖给回帖的把分补上。

[解决办法]
OLE专业户来也!!!

// 启动PowerPoint
PowerPointApplication1->Connect();

// 为调试方便,设置其界面可视
PowerPointApplication1->set_Visible(msoTrue);

// 打开一个已存在的PPT文档
PowerPointPresentation1->ConnectTo(PowerPointApplication1->
        Presentations->Open(WideString("D:\\ccrun\\123.ppt"), msoFalse, msoFalse, msoTrue));

if (PowerPointPresentation1->Slides->Count > 1)
{
    VARIANT vIndex;
    vIndex.vt = VT_I2;

    // 定位到第二张幻灯片
    vIndex.iVal = 2;
    // 63 63 72 75 6E 2E 63 6F 6D
    PowerPointSlide1->ConnectTo(PowerPointPresentation1->Slides->Item(vIndex));

    // 填写第二张幻灯片的两个文本框
    if (PowerPointSlide1->Shapes->Count > 1)
    {
        // 将Edit1中的文本填写到第一个文本框中
        vIndex.iVal = 1;
        PowerPointSlide1->Shapes->Item(vIndex)->TextFrame->
                TextRange->set_Text(WideString(Edit1->Text));

        // 将Edit1中的文本填写到第二个文本框中
        vIndex.iVal = 2;
        PowerPointSlide1->Shapes->Item(vIndex)->TextFrame->
                TextRange->set_Text(WideString(Edit2->Text));
    }
}

// 放映幻灯片
PowerPointPresentation1->SlideShowSettings->Run();

热点排行