我在OLEContainer中插入一个word对象,word文档中有一些表格。我现在想把文档中的表格中的某一个单元格信息提取出来,该怎么写语句?(原来我想着应该是类似olecontainer1.oleobject.tables[1],行不通^_^)。还有一个问题是我在一个按钮中写如下语句:olecontainer1.loadfromfile('g:\test.doc');程序运行后提示‘Invalid stream format’,如果我想从数据库中读取一个stream类型的数据,用loadfromstream也会出现类似错误,这是怎么回事?谢谢
解决方案 »
- 关于集合元素
- 一个工程,拷贝到别的机器上无法编译,如何处理?
- 为什么打包后启动程序提示“应用找不到XXX.DLL”
- 数据录入界面中,关于动态设置按钮的Enabled值,根据什么呢?(新手)
- 大伙帮我解读一下
- 设置某Access2000中表的某个字段的默认值?
- 一个很菜的问题?谁能解释一下。在线等待!!
- 简单的数据库问题,只要给出可行性方案就给分!!!
- 如何将Delphi中已有的报表控件和Database控件,Table控件的属性,方法,事件集成为一个新的组件
- HELP!!怎样在线程里添加NMUDP控件的onDataRecieved事件?
- 请推荐一本书,有CreateToolHelp32Snapshot等函数的。想了解一下进程的操作。谢谢
- Delphi7下面怎么使用Windows 的WMI接口啊?
begin
Append;Edit;
try
MemoryStream:=TMemoryStream.Create;
try
if WordRBtn.Checked then
begin
if DataMdl.HasWord2000 then
try
OleContainer1.SaveToStream(MemoryStream);
FieldByName('日记格式').AsString:='.doc';
except
MessageBox(0,'请安装Word2000,才能保存Word2000格式的日记!现在只保存Rtf格式的空日记!','对不起',MB_OK+MB_IconError);
RichEdit1.Lines.Clear;
RichEdit1.Lines.SaveToStream(MemoryStream);
FieldByName('日记格式').AsString:='.rtf';
end
end
else begin
RichEdit1.Lines.SaveToStream(MemoryStream);
FieldByName('日记格式').AsString:='.rtf';
end;
try
MemoryStream.Position:=0;
TBlobField(FieldByName('内容')).LoadFromStream(MemoryStream);
except
end;
post; except
DataMdl.RijiADOQry.Cancel;
MessageBox(handle,'请写好日记在添加!','错误',MB_OK+MB_ICONERROR);
end;
finally
MemoryStream.Free;
end;
end;
except
DataMdl.RijiADOQry.Cancel;
MessageBox(handle,'未可预料的错误,添加失败!','错误',MB_OK+MB_ICONERROR);
end;
首先非常感谢您的热心帮助,这个和实现我的功能似乎还有差距。其实我是想实现这样一个功能,用OLEcontainer提供给用户一个编辑的环境(用户在里面建立表格,可能还会插入图片),然后我需要提取其中的各个单元格的内容存到数据库里去。
如果olecontainer不能实现的话,这个功能应该用什么方法去实现?