请教一个关于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)));