作者JieJuen (David)
看板Office
标题Re: [请益] dde怎样储存资料?
时间Wed Apr 23 15:14:04 2008
嗯..这VBA的我也不太会
http://www.taltech.com/TALtech_web/support/dde_sw/ddeexcel508.htm
找了一下 有些是直接写到储存格
不过这样要怎麽触发就不知道了
To use it enter the string: [RUN("GetSWDataBelow")] as the Field Postamble
DDE Command after the last data field that you have defined.
不很明了...
网址是其中一例 往上一层还有其他
http://www.angelfire.com/biz/rhaminisys/ddeapps.html#DDEExcelSpec
这个也讲了一些 但好像比较没有用(?)
※ 引述《psion (psion)》之铭言:
: 标题: [请益] dde怎样储存资料?
: 时间: Wed Apr 23 01:06:34 2008
:
: ※ [本文转录自 Stock 看板]
:
: 作者: psion (psion) 看板: Stock
: 标题: [请益] dde怎样储存资料?
: 时间: Tue Apr 22 23:05:22 2008
:
: 我刚学excel
: 需要用dde撷取每分钟大盘成交资讯(成交量买卖均张之类)
: 结果进来的资料无法储存
: 比方说A1格是dde输入的成交量
: 我想把每分钟更新的资料依序储存在A2以後的格子
: 可是发现worksheet_change无法被dde触发(这是我上网找到的原因)
: 请问还有其他方法可以储存dde资料吗?
: 谢谢
:
: --
:
※ 发信站: 批踢踢实业坊(ptt.cc)
: ◆ From: 203.70.6.55
: → powerair:自行写个VBA程式? :P 04/22 23:28
: → psion:就是不知道怎麽写啊 XD 想找范例都不知从何找起 04/22 23:39
: → psion:worksheet_change也是别人教我的vba语法 04/22 23:39
:
: 我刚刚找上网到一种可能的写法(利用dde触发calculate)
: 想请高手指点一下
:
: Private Sub Worksheet_Calculate()
:
: Application.EnableEvents = False(请问这行跟下面True那行是必要的吗?)
:
: Range("A65536").End(xlUp).Offset(1, 0) = Range("A1").Value
:
: Range("B65536").End(xlUp).Offset(1, 0) = Range("B1").Value
:
: Range("C65536").End(xlUp).Offset(1, 0) = Range("C1").Value
:
: Application.EnableEvents = True
:
: End Sub
:
: A1 B1 C1就是dde资料进来的格子
: 不知道这样离正确的写法还有多远?
: 谢谢
网址中的备份一下
Sub GetSWDataBelow()
Dim X As Long ' Dim all variables
Dim MyVar As Variant
Dim MyString As String
On Error Resume Next ' ignore errors
Application.DisplayAlerts = False ' turn off DDE warning messages
X = DDEInitiate("WinWedge", "COM1") ' connect to WinWedge
MyVar = DDERequest(X, "Field(1)") ' get Field(1)
DDETerminate X ' terminate the DDE link
MyString = MyVar(1) ' convert to a string
' find the row number of the last empty cell at the bottom of Column 1
X = Sheets("Sheet1").Cells(65000, 1).End(xlUp).Row + 1
Cells(X, 1).Value = MyString ' put value in the last row
End Sub
:
: --------------------------------------
: ※ 编辑: psion 来自: 203.70.6.55 (04/23 00:11)
: ※ 编辑: psion 来自: 203.70.6.55 (04/23 00:13)
: → powerair:读DDE提供的时间 变动时(分+1) 复制到你要的栏位 04/23 00:10
: → psion:ㄟ 问题就在於要怎样复制 ontime是不必要的 因为本来就是每 04/23 00:14
: → psion:分钟更新一次 所以光是dde值变动 还要搭配能触发的事件 04/23 00:16
: → psion:change不能触发 calculate可以 这是我目前上网找到的心得 04/23 00:16
: → psion:不过很感激您的回应 能请您写出来让我学习吗 谢谢 04/23 00:17
: → powerair:Trading版应该蛮多高手的 我只有观念 不会写 抱歉 :) 04/23 00:21
: → psion:呵呵 Trading版人气很低迷啊 04/23 00:25
: 推 neant:转去office板 看看 excel高手很多 04/23 00:38
:
: --
:
※ 发信站: 批踢踢实业坊(ptt.cc)
: ◆ From: 203.70.6.55
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.164.49.110
※ 编辑: JieJuen 来自: 218.164.49.110 (04/23 15:17)