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

[µo°Ý] Ãö©ó½L¤¤DDE¬ö¿ý

[µo°Ý] Ãö©ó½L¤¤DDE¬ö¿ý

¥»©«³Ì«á¥Ñ irene83 ©ó 2012-5-17 10:46 ½s¿è

ÁöµM¬Ý¨ì¯¸¤º«Ü¦h¬ÛÃö©«¤l¡A¦ý§Ú¤´µLªk¦Û¤v³]©w§¹¦¨
·Q½Ð±Ð¯¸¤ºªº°ª¤â­Ì¡A
¥Ø«e§Ú¨Ï¥Îexcel±µ¦¬¬Ý½L³nÅéddeªº¸ê°T¡A¨Ã°µ¦¨§Y®É°ÊºAªí®æ¦b("DATA"A2:V2)¡A
·Q³z¹LVBAÅý¥L¨C¶¡¹j5¤ÀÄÁ¬ö¿ý¤U¨Ó¨ì("Sheet1"A2:V66)¶K¤W­È¡A®É¶¡±q8:30~13:45¡A

ÁÂÁ¤j¤j­ÌªºÀ°¦£~¦³³Ò¤F!!!

ªþ¤WÀɮסA¤w°Ñ¦Ò¤j¤j«Øijªºµ{¦¡½X°µ­×§ï¡A¦ý¤´µLªk°õ¦æ
¦³½Ð±ÐC¤j¡AÁÂÁÂ!

20120517.rar (13.72 KB)

½Ð±Ð¦¹½L¤¤DDE¬ö¿ý¡K¥i§_¾A¥Î±d©Me°{¹qªº¤U³æ³nÅé¶Ü?

TOP

§Ú¤]¦³ªü À³¬O ½×¾Âªº¸ê®Æ®wµo¥Í¤F°ÝÃD

TOP

¤p§Ì¤]·Qª¾¹D¡A´£°Ý¤Î¦^¤å³£¤£Ál¦Ó­¸¡A¬O³Q§R°£¤F¡A§í©Î½×¾Âªº¸ê®Æ®wµo¥Í¤F°ÝÃD¡H
devidlin

TOP

¦^´_ 12# GBKEE
­ì¨Ó Module1 ©M ThisworkBook ¤§¶¡ªº¸m©ñ¦³³o¨Ç Open¥H¤ÎCloseªº°Ï§O¡A
§Ú±N¥¦°O¿ý°_¨Ó¤F¡AÁÂÁ GBKEE ¤j¤jªº¸Ñ»¡¡C

§Úµoı«e¤Ñ»P¬Q¤é¶¡ªº´£°Ý¤Î¦^¤å³£¤£Ál¦Ó­¸¡A¬O³Q§R°£¤F¡A§í©Î½×¾Âªº¸ê®Æ®wµo¥Í¤F°ÝÃD¡H

TOP

¦^´_ 11# devidlin
¥i°Ñ¦Ò¤@¤U
  1. 'DDE ¸ê®Æ¬ö¿ý°ÝÃD ¦b'¤@¯ë¼Ò²Õ(Module1)ªºµ{¦¡½X
  2. Option Explicit
  3. Dim ¶}½L As Range, ¦¬½L As Range, ¶¡¹j As Range, ¦¸¼Æ As Range, Time_Dee As Date
  4. '------¦b¤@¯ë¼Ò²Õ(Module1)¤£°_§@¥Îªº----------------
  5. 'Private Sub Workbook_Open()                          '¬O ThisWorkbookªºµ{§Ç ¦¹¬¡­¶Ã¯Ãö³¬®É ¦Û°Ê°õ¦æªºµ{¦¡
  6. 'Private Sub Workbook_BeforeClose(Cancel As Boolean)  '¬O ThisWorkbookªºµ{§Ç ¦¹¬¡­¶Ã¯Ãö³¬®É ¦Û°Ê°õ¦æªºµ{¦¡
  7. '---------------------------------------------------
  8. Private Sub Auto_Open()    '---* ¤@¯ë¼Ò²Õ(Module1)ªºµ{§Ç ¦¹¬¡­¶Ã¯¶}±Ò®É ¦Û°Ê°õ¦æªºµ{¦¡
  9.     StartProcedure
  10. End Sub
  11. Private Sub Auto_Close()   '---* ¤@¯ë¼Ò²Õ(Module1)ªºµ{§Ç ¦¹¬¡­¶Ã¯Ãö³¬®É ¦Û°Ê°õ¦æªºµ{¦¡
  12.     StopProcedure
  13.     ThisWorkbook.Save
  14. End Sub
  15. Sub StartProcedure()
  16.     '----- ¥i³] «ö¶s «ü©w¦¹¥¨¶°¤â°ÊÀ³¥Î-------
  17.     '------±Ò°Ê Dee_Set µ{§Çªº °õ¦æ¥¨¶°-------
  18.     If ¦¬½L Is Nothing Then Time_Set                        'Åܼƥ¼³]©w
  19.     If Sheets("Sheet1").[A2] <> Date Then Sheets("Sheet1").UsedRange.Offset(1) = ""
  20.                                                             '·í¤é²Ä¤@¦¹¶}±ÒÀÉ®× ²M°£´N¦³Dee¸ê®Æ
  21.     If Time > ¦¬½L Then                                     '¤w¹L ¦¬½L®É¶¡
  22.         MsgBox "¤w¹L " & ¦¬½L
  23.     Else                                                    '¥¼¨ì ¦¬½L®É¶¡
  24.         If Time >= ¶}½L And Time <= ¦¬½L Then               'ªÑ¥«¥æ©ö®É¶¡¤º
  25.             If Time_Dee > ¶}½L Then Exit Sub                '¹w¨¾­«´_:' ¤U¦¸°õ¦æ Dee_Set ªº®É¶¡¤j©ó¶}½L®É¶¡
  26.             Dee_Set
  27.         Else                                                '¥¼¶}½L«e
  28.             ¦¸¼Æ = 0                                        '²M°£¬Q¤é¬ö¿ý DEE ¦¸¼Æ
  29.             Time_Dee = #8:30:00 AM#
  30.             Application.OnTime Time_Dee, "Dee_Set"
  31.             MsgBox "¹w©w ©ó   " & #8:30:00 AM# & "§ó·s Dee¸ê®Æ"
  32.         End If
  33.     End If
  34. End Sub
  35. Sub StopProcedure()
  36.     '----- ¥i³] «ö¶s «ü©w¦¹¥¨¶°¤â°ÊÀ³¥Î-------
  37.     '------°±¤î Dee_Set µ{§Çªº °õ¦æ¥¨¶°-------
  38.     On Error Resume Next
  39.    Application.OnTime Time_Dee, "Dee_Set", , False
  40.    Time_Dee = #12:00:00 AM#                 '¤U¦¸°õ¦æ Dee_Set ªº®É¶¡: ¤p©ó¶}½L®É¶¡
  41. End Sub
  42. Private Sub Time_Set()                      'ÅÜ¼Æ ³]©w
  43.     With Sheets("DATA")
  44.         Set ¶}½L = .Range("X5")             '¶}½L®É¶¡
  45.         Set ¦¬½L = .Range("Y5")             '¦¬½L®É¶¡
  46.         Set ¦¸¼Æ = .Range("X6")             '¬ö¿ý DEE ¦¸¼Æ
  47.         Set ¶¡¹j = .Range("Y6")             '¶×¤JDEEªº ®É¶¡¶¡¹j
  48.         ¶}½L = "8:30:00"
  49.         ¦¬½L = "13:30:00"
  50.         If ¶¡¹j = "" Then ¶¡¹j = "00:01:00" '¥¼³]¥¼³]¥ß ¶¡¹j
  51.     End With
  52. End Sub
  53. Private Sub Dee_Set()
  54.     If Time > ¦¬½L Then Exit Sub
  55.     '----------¬ö¿ý DEE -----------
  56.     Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Offset(1).Resize(1, 22).Value = Sheets("DATA").[A2:v2].Value
  57.      ¦¸¼Æ = ¦¸¼Æ + 1                        ' ¤Á°O Counter (­p¼Æ¾¹) ­n¥[¤@¡A§_«h¥Ã»·¬°¹s (·íµM¤w¤]¥i¥H¤£¤©¬ö¿ý¸ê®Æ¦C­z¡A¨Ì­Ó¤H²ß©Ê)¡C
  58.     Time_Dee = Time + ¶¡¹j                  '¤U¦¸°õ¦æ Dee_Set ªº®É¶¡
  59.     Application.OnTime Time_Dee, "Dee_Set"
  60. End Sub
½Æ»s¥N½X

TOP

1.°²³]±NDATAÄæ¦ì X5.X6.Y5.Y6§R°£¡A­è¸Õ¹L°õ¦æ¥¨¶°®É·|·í±¼
2.Y5Äæ¦ì¦pªG¬ö¿ý¸ê®Æ¶×¤J¬Û¹j®É¶¡¡A¦p¨C¹j¤­¤ÀÄÁ¼g¤J¤@¦¸¡A­è¬Ý¦¹Äæ¦ì¬°12:05:00 AM¡A³o¼Ë¹ï¶Ü?
3.¥t¥´¶}¬Ý½L³nÅé¡A¥´¶}¦¹EXCELÀɮ׫á¡A¥L·|¦Û°Ê°õ¦æ¥¨¶°¡AÁÙ¬O­n¤â°Ê¥h«ö¤~·|°õ¦æ¥¨¶°?  ·Ð½Ð¤j­ô«ü±Ð¡AÁÂÁ¡C
devidlin

TOP

¦^´_ 9# devidlin
·Ð½Ð»¡©ú¨º¸Ì¥X°ÝÃD
1:¨S¨Ó·½dde·|¥X²{" #REF!  "
2:sheets("data")¤§ x5, x6 ®É¶¡¶·½Õ¾ã¨ì±z»Ý­nªº°Ï¶¡
°Ñ¦Ò¥ý

TOP

Ãö©ó½L¤¤DDE¬ö¿ý 20120517---1.rar     Àɮקì¤U¨Ó´ú¸Õ¤£¯à¨Ï¥Î¡A¥i¥H¥t´£¨ÑÀɮ׶Ü?ÁÂÁ¡C
devidlin

TOP

¦^´_ 7# devidlin
¦¹³B±´°Qªº¬O¦p¦ó±N½L¤¤DDE¸ê®Æ¶×¤J¨ì§A±ýÀx¦sªº Excel ªí³æ¤º¡A
¨Ñ°µ½L¤¤°Ñ¦Ò©ÎÆ[¹î¬ö¿ýªº²§°Ê¡C¥u­n¬O¨é°Ó¦³¤ä´© DDE ¥\¯à¡A
§A³£¥i¥H¦Û¦æ³sµ²¨ì§AªºExcel¡C(¨é°Ó³nÅé <---> DDE <---> Excel)

TOP

        ÀR«ä¦Û¦b : ·O´d¨S¦³¼Ä¤H¡A´¼¼z¤£°_·Ð´o¡C
ªð¦^¦Cªí ¤W¤@¥DÃD