通过Excel可以将Excel与“ ABC”连接,也可以通过DDE将R与Excel连接,但是如何将R与“ ABC”应用程序连接?
我有提供DDE接口的应用程序,可以从Excel使用此DDE参考从它检索值:
='ABC'|DDE!_nazwa_value
从R我尝试使用
tcltk2
库,如下所示:tcltk2::tk2dde.request(service="ABC", topic="DDE", item="_nazwa_value")
但发生错误:
Error in structure(.External(.C_dotTcl, ...), class = "tclObj") :
[tcl] remote server cannot handle this command.
[1] "Error in structure(.External(.C_dotTcl, ...), class = \"tclObj\") : \n [tcl] remote server cannot handle this command.\n\n"
attr(,"class")
[1] "try-error"
attr(,"condition")
<simpleError in structure(.External(.C_dotTcl, ...), class = "tclObj"): [tcl] remote server cannot handle this command.
我只是试图使用tcltk
dde
函数从应用程序中检索数据,我认为我的item
的tk2dde.request
部分是错误的,但是我尝试了各种修改(例如,没有_
),您知道解决此问题的任何线索或资源吗?编辑
出问题了,在服务器主题列表上我没有看到ABC服务器或DDE主题:
tk2dde.services()
,但是Excel仍可以使用='ABC'|DDE!_nazwa_value
连接并检索值,DDE Query也看不到它 最佳答案
您可以在tcl / tk Wiki中阅读有关DDE的文章:
(谈论使用Internet Explorer)...上述所有实验均应可靠地“运行”,因为从用户的角度来看,IE确实可以按所述方式运行。但是,回到Tcl进程中,[dde]通常会引发“远程服务器无法处理此命令”异常。这是因为,在KBK的分析中,DDE没有提供“区分'预期结果,但是服务器无法提供'与'预期结果'的方法”。不接收DMLERR_NOTPROCESSED的唯一方法是调用“ dde exec -async ...”
注意:我使用Excel +“ request”尝试了DDE的tcl示例,并且遇到了与您相同的错误:“远程服务器无法处理此命令”。
礼炮!,