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

请问一个关于TWordDocument控件的有关问题总是说访问异常

2012-03-20 
请教一个关于TWordDocument控件的问题总是说访问错误我用这个控件打开一个word文件,可是总是说非法访问,代

请教一个关于TWordDocument控件的问题总是说访问错误
我用这个控件打开一个word文件,可是总是说非法访问,代码如下
WordApp-> Disconnect();
          WordApp-> Connect();//连接Word
          WordApp-> Application-> Visible   =   false;
          //打开已有的临时文件
          TVariant   FileName   =   TempFileName.c_str();
          WordApp-> Documents-> Open(&FileName,
                        EmptyParam,EmptyParam,EmptyParam,
                        EmptyParam,EmptyParam,EmptyParam,
                        EmptyParam,EmptyParam,EmptyParam,
                        EmptyParam,EmptyParam);
          //建立控件WordDoc与打开文档的连接
          WordDoc-> ConnectTo(WordApp-> Documents-> Item(Variant(1)));
单独拿出来用没问题,可是在我的项目程序中去总是有问题,请问各位是哪个地方非法访问了,我实在是找不出原因了,只有把整个工程的obj都删除了才好用,但是整个工程文件很大,要编译好久才行。

[解决办法]
TempFileName要全路径,还要看看出现的是什么错误,如果错误出现在Open上,那可以把一些参数省略掉.
还有一点,这个程序的word是那个版本,word 2000 \word xp \word 2003 \word 2007的open参数不一样.
还有我在我这儿发现builder 6下wordappp-> Visible = true;不能用.
还有用c++ builder 5 和builder 6的版本中,也不一样.builder 5下面写的builder 6不能进行编译,反之,也一样.
下面我是在 builder6下的(word 2000)
Variant path=stuWordQry-> FieldByName( "cSavePath ")-> AsVariant; //从stuWords中读出考生保存文件的位置
WordApp-> Connect();

WordApp-> Documents-> Open(path,(Variant)false,(Variant)true,(Variant)false);//,Variant( " "),Variant( " "),Variant(false),Variant( " "),Variant( " "),Variant(wdOpenFormatAuto));
WordDoc-> ConnectTo(WordApp-> Documents-> Item(Variant(1)));

热点排行