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

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

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

¦^´_ 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

¦^´_ 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

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

TOP

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

TOP

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

TOP

        ÀR«ä¦Û¦b : Ä@­n¤j¡B§Ó­n°í¡B®ð­n¬X¡B¤ß­n²Ó¡C
ªð¦^¦Cªí ¤W¤@¥DÃD