妖哥帮忙啊!数据保存到第二张幻灯片的文本框
本帖最后由 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();