ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[µo°Ý] ¦³Ãö©ó¦Û°Ê¥æ©ö¨t²Î«ç¼ËIJµoµo³æªº°ÝÃD

[µo°Ý] ¦³Ãö©ó¦Û°Ê¥æ©ö¨t²Î«ç¼ËIJµoµo³æªº°ÝÃD

¥»©«³Ì«á¥Ñ GBKEE ©ó 2014-4-24 16:56 ½s¿è

¤p§Ì³Ìªñ¶}©l¬ã¨sEXCELªº¦Û°Ê¥æ©ö¨t²Î¡A¨Ï¥ÎtouchanceªºDDE¼Æ¾Ú¡C
¼Æ¾Ú°O¿ý¤è¦¡¡G
¡A¨C¤@¤ÀÄÁ°O¿ý¨Ì¦¸­p¤J¤@¤ÀÄÁ¼Æ¾Ú¨ì¤@¦æ³æ¤¸®æ¡A¤U¤@¤ÀÄÁ°O¿ý¤U¤@¤ÀÄÁªº¼Æ¾Ú¡A¥H¦¹Ãþ±À¡C
µo³æIJµo¤è¦¡¡G
°Ñ¦Ò¤F«¸ªLªN¯§¦Ñ®vªº¡§Â÷½u¥æ©öEXCELÀÉ¡¨¡A¨Ï¥Î¤@­Ó©w®É¾¹¨C¹L¤@¤ÀÄÁ±½´y°õ¦æ¤@¦¸­pºâ¡A

            hTimer = SetTimer(0, 0, 60000, AddressOf Main)   '¨C¹L¤@¤ÀÄÁ¶i¦æ¤@¦¸­pºâ¡Aº¡¨¬±ø¥ó«hµo³æ¡C
²{¦b°ÝÃD¨Ó¤F¡G
¤ñ¦p§Ú·Q¨Ï¥Î¤@­Ó²³æªº20°ª§CÂI¬ð¯}µ¦²¤¡A§Ú¥²¶·¨C¹L¤@¤ÀÄÁ±½´y­pºâ¤@¦¸¡A³o¼Ë¦pªG¹J¨ìºôµ¸©µ®É©ÎªÌÂ_½u¦Z­«³s±N¨S¦³¥i¾a«O»Ù¡C
§Ú²{¦b·Qªº¬O¯à§_§Q¥Î¡§¨C¤@¤ÀÄÁ·s¼Æ¾Ú¶i¤JIJµo¶i¦æ­pºâ¡¨¡A¤]´N¬O»¡¡A¥u­n¦³¤@¤ÀÄÁªº·s¼Æ¾Ú¦¬¨ì¡]¦Û°Ê¶ñ¤J¤U¤@¦æ¡^¡A§YIJµo¤U¤@¦¸­pºâ¡A¤£ª¾À³¸Ó¦p¦ó¹ê²{¡H

¦b¨ä¥L½×¥L½Ð±Ð¹L¡A±o¨ì¦p¤U¦^ÂÐÀ°§U¡G
1.¡§§ï¥Îevent driven¡A¤£­n¥Î°j°é¡¨
2.¡§¥Î¤@­Óvba¤u¨ã´N¥i¥H²³æ³B²z_¦³Åܰʤ~§ó·s.§ÖºC½Lºtºâ¤£·|º|tick.¡¨
3.¡§¥Î°j°éªº¸Ü¾ã­Óexcel ªºevents³£·|³Q­á¦í, µ¥¨ì°j°é°±¤î, §A¦pªG¸Õ¹LÀ³¸Ó´N¤£·|³o¼Ë°Ý¡¨
¤p§ÌÁÙ¬O¤£©ú¥Õ¥Î¤°麽¤è¦¡¥i¥H³ÌÀu¡H½Ð¥ý½ú­Ì½ç±Ð¡C
PS:¬Ý¨ì¤@ºØ¸Ñ¨M¤è®×¡G
Worksheet_Change event, worksheet¤W¦³ÅܤƤ~°õ¦æ°Ê§@, ¹³API tick ªºcell ¦ì¸m:
Private Sub Worksheet_Change(ByVal Target As Range)
'¦pªGA1 cell¸ê®Æ¦³ÅÜ°Ê
If Target.Address = "$A$1" Then
'°õ¦æ·Q°µªº¨Æ±¡
end if
¦ý¬O¤p§Ì¨S¬ÝÀ´¡C¡C¡C¡C¬O§_¯à请¤j¤j们´£¥Ü¡H
³Ì¦Z¡A¥ý¶i­Ì¬O¦p¦ó¹ê²{³o¼ËªºÄ²µoªº¡H¤p§ÌVBA¤£¼ô½m¡A¯à§_½Ð¥ý¶iªù¦b§Ú¤W¶Çªº¸ê®Æ¤WÀ°¦£­×§ï¡C
·P®¦~

auto trading.rar (678.64 KB)

http://itgroup.blueshop.com.tw/kenming/blog?n=convew&i=7699
¬Ý¨ì这个©«¤lªº内®e¡A¬O§Q¥Îsetlinkondata写DDEÅܤÆevent¡A¥¿¦n²Å¦X§Úªº­n¨D¡A
¦ý«ç¼Ë¨Ï¥Î¨S¦³¬ÝÀ´¡A½Ð¨D¤j¤j­ÌÁ¿¸Ñ¡C¡C

TOP

¤p§Ì³Ìªñ¶}©l¬ã¨sEXCELªº¦Û°Ê¥æ©ö¨t²Î¡A¨Ï¥ÎtouchanceªºDDE¼Æ¾Ú¡C
¼Æ¾Ú°O¿ý¤è¦¡¡G
¡A¨C¤@¤ÀÄÁ°O¿ý¨Ì¦¸­p¤J ...
flyflyduck1 µoªí©ó 2014-4-24 15:17
  1. Private Sub Worksheet_Calculate()
  2. ........
  3. .......
  4. End Sub
½Æ»s¥N½X
diabo

TOP

diabo µoªí©ó 2014-4-24 21:35

½Ð±Ð¤°麽·N«ä¡H¥Îcalculate¨Æ¥ó¬O§_»Ý­n¥Î°j°é¡H

TOP

¦^´_ 3# diabo
请参¦Ò¡G
¡§³o¥i¬O¬Û·í¬Û·íªº³Â·Ð¤F¡I ¦]¬°³z¹L²Ä¤@­Óµ{§Ç¤ºªº°Ñ¼Æ (Range Object)¡A¥i¥H«Ü¤è«K¦a±oª¾¬O­þ¤@­Ó CELL ªº¸ê®ÆÅÜ°Ê¡A¦ý²Ä¤G­Óµ{¦¡«h§_¡C ©Ò¥H­Y­nª¾¹D¦b¬Y¤@­Ó¤u§@ªí¬O­þ¤@­Ó CELL ªº¸ê®ÆÅÜ°Ê¡A´N¥²¶·¼g FOR LOOP °j°é¡A¤@­Ó¤@­Ó¨Ó§PÂ_¬O­þ¤@­Ó CELL Äæ¦ìªº¸ê®ÆÅÜ°Ê¡C §Ú´X¥G¬Ý¨ì³\¦h¼g§PÂ_ Tick ¸ê®ÆÅܰʪºµ{¦¡¡A³£¬O¥H¸Ó¨Æ¥óµ{§Ç (Worksheet_Calculate) ¨Ó³B²z¡C ·íµM¡AÄæ¦ì¤£¦hÁÙ OK¡A¦ý¬O­Y¬O¹³§Ú³o¼Ë¡A¤@­Ó¤u§@ªí¬O¼´¬ù 100 ÀɪºÅv­È¦¨¥÷ªÑ¡B¬ù¦³ 500 ~ 800 ­Ó DDE Äæ¦ìªº¸Ü¡A¨ºªÖ©w®Ä¯à·|¤j¥X°ÝÃD¡A³s°Ê·íµM·|¼vÅT¨ì Tick ¸ê®Æªº¥¿½T©Ê¤F¡C ¾ã¾ãª¦¤å¤F¤@¾ã­Ó¦­¤W¡AÁ`ºâ¤~§ä¨ì¯u¥¿¥¿½T³B²z DDE CELL «¬ºAªº¨Æ¥óµ{§Ç¤F¡C ¤£À³¸Ó¨Ï¥Î "WorkSheet_Calculate()"¡B¦Ó¬O±Ä¥Î "SetLinkOnData()" µ{§Ç¤~¬O¡C¡¨
¤£ª¾¹D±zªº¸Ñ决¤è®×¬O§_¬O这样©O¡H

TOP

SetLinkOnData() ¤]¤£¬O¦n¤èªk

TOP

¦^´_ 6# bobomi
½Ð°Ý¦n¤èªk¬O¤°麽¼Ëªº©O¡H:'( :'( :'(

TOP

¦³¨S¦³¤j¯««üÂI¤p§Ì¤@¤U°Ú¡H
µ¥µÛ¥Î¦nµÛ«æ°Ú¡C¡C¡C¡C

TOP

¥»©«³Ì«á¥Ñ GBKEE ©ó 2014-4-27 10:38 ½s¿è

¦^´_ 8# flyflyduck1
¤@¯ëªº±µ¦¬DEEªº¸ê®Æ ®É¶¡,¶}½L»ù,³Ì°ª»ù,³Ì§C»ù,¦¬½L»ù,¦¨¥æ¶q,¦¨¥æµ§¼Æ
¦b©T©wªºÀx¦s®æ±µ¦¬¼Æ­È,¨Ï¥ÎªÌ¦b1¤ÀÄÁ,©Î 5¤ÀÄÁ±N¸ê®Æ¾É¤J«ü©wªº¦ì¸m
¥i°Ñ¦Ò¤U­±Sheet1¼Ò²Õµ{¦¡ °õ¦æEx()¸Õ¸Õ¬Ý
  1. Option Explicit '±µ¦¬DEEªº¸ê®Æ¥i¨Ï¥Î Worksheet_Calculate
  2. Private Sub Worksheet_Calculate()
  3.     Static DataLoad_Time As Single    'Static ÃöÁä¦rÀx¦sÅܼÆ
  4.     Static Ar()
  5.     'Static ³¯­z¦¡  ¦bµ{§Ç¼h¦¸¤¤¥Î¨Ó«Å§iÅܼƨðt¸mÀx¦sªÅ¶¡¡C
  6.     '¥H Static ³¯­z¦¡«Å§iªºÅܼơA¦bµ{¦¡°õ¦æ´Á¶¡¡A·|¤@ª½«O¯d¤º®e

  7.     '³o¤u§@ªí: °²³]Dee¤½¦¡¦b[B2:I2],¥B¥LÀx¦s®æµL¤½¦¡¦s¦b
  8.     '·N¨ý¥ô¤@­Ó Dee¤½¦¡¦³ÅÜ°Ê·|±Ò°Ê³oCalculate¨Æ¥ó
  9.     If DataLoad_Time <> 0 And [b2] - DataLoad_Time > #12:00:59 AM# Then '¦b¤U¤@¤ÀÄÁ¥X²{«á
  10.         Range("B" & Rows.Count).End(xlUp).Offset(1).Resize(1, 8) = Ar '¾É¤J¤W¤@¤ÀÄÁªº¸ê®Æ
  11.         '¥i±µ¤U§@§A­nªº¤u§@
  12.         '¥i±µ¤U§@§A­nªº¤u§@
  13.     End If
  14.     Ar = [B2:I2].Value           '¬ö¿ý¸ê®Æ
  15.     DataLoad_Time = [b2]   '¬ö¿ý®É¶¡
  16. End Sub
  17. Sub Ex()  '³oµ{§Ç¼ÒÀÀDee¤½¦¡¦bSheet2¤WªºÀx¦s®æ,¶i¦ÓIJµoWorksheet_Calculate¨Æ¥ó
  18.     Dim h, L
  19.     h = 50
  20.     L = 40
  21.     With Sheet2.[B2:I2]
  22.         .Cells(1) = Time                       '¥u¦³¸ê®ÆÅÜ°Ê,¤~·|IJµoWorksheet_Calculate¨Æ¥ó
  23.         .Cells(2) = Int((h - L + 1) * Rnd + L)  '50 - 40ªº¶Ã¼Æ
  24.         .Cells(3) = Int((h - L + 1) * Rnd + L)
  25.         .Cells(4) = Int((h - L + 1) * Rnd + L)
  26.         .Cells(5) = Int((h - L + 1) * Rnd + L)
  27.         .Cells(6) = Int((h - L + 1) * Rnd + L)
  28.         .Cells(7) = Int((h - L + 1) * Rnd + L)
  29.         .Cells(8) = Int((h - L + 1) * Rnd + L)  '¦pÅÜ°Ê8¦¸´NIJµo8¦¸ªºWorksheet_Calculate¨Æ¥ó
  30.     End With
  31.     Application.OnTime Time + #12:01:00 AM#, "Sheet1.ex"
  32.     Debug.Print Time
  33. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

        ÀR«ä¦Û¦b : ¡i°±º¢¤£«e¡A²×µL©Ò±o¡j¤H³£°g©ó´M§ä©_ÂÝ¡A¦]¦Ó°±º¢¤£«e¡FÁa¨Ï®É¶¡¦A¦h¡B¸ô¦Aªø¡A¤]¤FµL¥Î³B¡A²×µL©Ò±o¡C
ªð¦^¦Cªí ¤W¤@¥DÃD