请教一个DDE问题?
flili 2005-12-03 11:52:00
我用API做一个DDE客户端,连接到Excel:
1. 首先建立会话
Call DdeInitialize(m_idInst, AddressOf DdeCallback, APPCMD_CLIENTONLY, 0)
m_hszServer = DdeCreateStringHandle(m_idInst, "excel", 0)
m_hszTopic = DdeCreateStringHandle(m_idInst, "sheet1", 0)
m_hConv = DdeConnect(m_idInst, m_hszServer, m_hszTopic, ByVal 0&)
2. 热连接到3个单元格
m_hszItem(0) = DdeCreateStringHandle(m_idInst, "R1C1", 0)
m_hszItem(1) = DdeCreateStringHandle(m_idInst, "R2C1", 0)
m_hszItem(2) = DdeCreateStringHandle(m_idInst, "R3C1", 0)
For i = 0 To 2
Call DdeClientTransaction(ByVal 0&, 0, m_hConv, m_hszItem(i), CF_TEXT, XTYP_ADVSTART, 0, 0)
Next
3. 测试DDE热连接,成功
问题:
在DDE回调函数里用“Case XTYP_ADVDATA, XTYP_XACT_COMPLETE”来获得源更新的数据,
可是,当3个单元格中只有一个改变值时,都会收到3个单元格的数据,怎么会这样?