Developer2000下的DDE

wangxian 2000-03-18 12:04:00
当我第二次使用Developer2000的DDE将数据传的Excel中去时,如何覆盖第一次传到Excel中的信息?
...全文
158 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
9Thoughts 2000-03-30
  • 打赏
  • 举报
回复
你好,这里有几个命令对你可能有帮助:
使用DDE.Initiate('EXCEL', 'system')可以不管TOPIC而连接任何EXCEL DDE SERVER
清除当前CELL的内容:
DDE.Execute(ConvID, '[clear]', 1000);
打开指定文件
DDE.Execute(ConvID, '[OPEN("文件名")]', 1000);
我不是说在EXCEL文件里建宏,而是如上所示传递命令
wangxian 2000-03-29
  • 打赏
  • 举报
回复
9Thoughts:
您好,我今天试了以下宏命令,但不知如何使用EXECUTE命令来调用这个宏,还有当用户将该文件改名后我又如何再打开DDE所指定的文件呢?若通过其他方式打开相应的文件,EXCEL将会出现一个MessageBox提示是否要修改原来的文件,从而使DDE过程失败。我的方案是首先使用Host函数调用一个VC程序,然后在VC程序中检索有无EXCEL,若有则终止该进程,然后再使用ShellExecute激活EXCEL并打开DDE所指定的文件(与路径无关),并且VC程序立即退出,返回到D2000中,然后再进行DDE操作,这样做虽可以完成我的要求,但不太可靠,因为Kill Process是否安全我不知道,望9Thoughts有何高见,谢谢。
9Thoughts 2000-03-28
  • 打赏
  • 举报
回复
抱歉!犯了一个想当然的错误,DDE.POKE不能传递空值
9Thoughts 2000-03-28
  • 打赏
  • 举报
回复
使用DDE.EXECUTE向EXCEL发送宏命令,执行全选、删除操作,具体怎样写只好你自己去查了。
苯办法就是用Global变量记下上一次发送数据的数量和范围,用DDE.POKE将其置为空。
wangxian 2000-03-27
  • 打赏
  • 举报
回复
首先在打开EXCEL BOOK1的情况下,在Developer2000中查出10条记录,然后通过Poke命令将其传到EXCEL中去,这样在EXCEL中将会出现10条记录。然后在Developer2000中改变查询条件,使它只能查出5条记录,同样通过POKE命令传到EXCEL的BOOK1中去,这样在EXCEL中的前5条是我第二次传的数据,而后5条是我第一次传的数据,我如何将第一次的数据清空,使得在我第二次通过DDE将数据传到EXCEL中去后在EXCEL中只能看见5条记录。
9Thoughts 2000-03-26
  • 打赏
  • 举报
回复
很抱歉,以为工作比较忙,耽误这么长时间,我试了一下没有发现问题,能否把你的源程序发过来让我看一下,并且把情况说的详细一些,谢谢!
9Thoughts 2000-03-22
  • 打赏
  • 举报
回复
稍等,我试一下很快答复
王释之 2000-03-18
  • 打赏
  • 举报
回复
我装过Developer2000,但连数据库都没见着!
帮不了您,不好意思!
但可以给您加点热闹值!

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧