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

[¤À¨É] VBA »y¥y¶° 200 ¥y

ÁÂÁÂC C LAIµL¨p¦a¤À¨É
´N¬O­n¨ÓÅý³Â»¶®a±ÚÅܱo§ó±j
³o¼Ëªº¦^ÂЦn¹³¦³½Ä¥Çª©³W
½Ðª©¤j¤H­ì½Ì
¤µ¤Ñ¬O¨º­Ó½L¤¤ DDE ¦sÀÉ»P VBA ªº¹ê»ÚÀ³¥Î½d¨Òµ{¦¡¡A¯uªº«Ü¶¶¤â
­T¶ë¹y¶}
¯qÁ¨à

TOP

¥»©«³Ì«á¥Ñ ajagow ©ó 2012-4-25 20:31 ½s¿è

¦^´_ 11# chenua


    ' ½L¤¤ DDE ¦sÀɪº¹ê»ÚÀ³¥Î½d¨Ò
Option Explicit
Dim actEnabled As Boolean
Dim index As Single

Private Sub Workbook_Open()

   If (Sheets("¤u§@ªí1").Range("AA1").Value = "") Then Sheets("¤u§@ªí1").Range("AA1").Value = "08:45:00"   ' °²³]AA1Äæ¦ì¬°ªÅ¥Õ¡A«h¼g¤J¶}½L°_©l®É¶¡

   If (Sheets("¤u§@ªí1").Range("AA2").Value = "") Then Sheets("¤u§@ªí1").Range("AA2").Value = "13:45:59"   ' AA2Äæ¦ì¥ç¦P¡C(¦¹¨âÄæ¬ö¿ý°_©l²×¤î®É¶¡)

   If (Sheets("¤u§@ªí1").Range("AA3").Value = "") Then Sheets("¤u§@ªí1").Range("AA3").Value = 0            ' ¬ö¿ý³Ì«á¸ê®Æ¶×¤J¤§¦C¸¹ (Rows)¡C

    If (Sheets("¤u§@ªí1").Range("AA4").Value = "") Then Sheets("¤u§@ªí1").Range("AA4").Value = "00:00:10"   ' ¬ö¿ý¸ê®Æ¶×¤J¬Û¹j®É¶¡¡A¦p¨C¹j¤Q¬í¼g¤J¤@¦¸¡C

    If (TimeValue(Now) > Sheets("¤u§@ªí1").Range("AA2").Value) Then       ' ¦pªG¥Ø«e®É¶¡·~¤w¶W¹LAA2ªº®É¬q¡A«h©I¥s.......

        Call stopProcedure

    Else                                                                  ' ¤Ï¤§¡A«h©I¥s.......

      Call startProcedure

   End If

End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)

    On Error Resume Next

   Call actStop

End Sub

Private Sub startProcedure()       ' «O¯d§@¬°±±¨î¶µ¤§À³¥Îµ{§Ç¡A¦p«ö¶s¤§¥¨¶°À³¥Îµ¥¡C

   Call actStart

End Sub

Private Sub stopProcedure()        ' «O¯d§@¬°±±¨î¶µ¤§À³¥Îµ{§Ç¡A¦p«ö¶s¤§¥¨¶°À³¥Îµ¥¡C

  Call actStop

End Sub

Sub Starter()

   If (actEnabled = True And TimeValue(Now) >= Sheets("¤u§@ªí1").Range("AA1").Value And TimeValue(Now) <= Sheets("¤u§@ªí1").Range("AA2").Value) Then

      index = Sheets("¤u§@ªí1").Range("AA3").Value

        If (Index = 0) Then Call newTitle  '°²³]newTitleµ{§Ç(¥Ñ¨Ï¥ÎªÌ¦Û¦æ©w¸q)¬O±N²Ä¤@¦Cªº¸ê®Æ©ïÀY¦WºÙ¼g¤J¨ì¤u§@ªí2¡C ¦p¡G¤é´Á¡B®É¶¡¡BR1C5ªº¹ïÀ³Äæ¦ì¸ê®Æµ¥¡C

        Sheets("¤u§@ªí1").Range("AA3").Value = index + 1       ' ¬ö¿ý¦C¸¹¥[¤@¡C

        Sheets("¤u§@ªí2").Cells(index + 2, 1).Value = Date

        Sheets("¤u§@ªí2").Cells(index + 2, 2).Value = TimeValue(Now)

       ' Sheets("¤u§@ªí2").Cells(index + 2, 3).Value = Sheets("¤u§@ªí1").Cells(1, 5).Value

        '

       ' ½Æ»s±q¨é°ÓDDE¶×¤J¤§¬Û¹ïÀ³¦ì¸m¸ê®Æ¡A¦p R1C5 ¹ïÀ³ªº¥i¯à¬O¦¬½L»ùµ¥µ¥¡C

        '

    End If

End Sub

Sub onStarter()

    Call Starter

    If actEnabled Then Call actStart

End Sub

Sub actStart()

    actEnabled = True

    Application.OnTime (Now + Sheets("¤u§@ªí1").Range("AA4").Value), "ThisWorkBook.onStarter"   ' ¼g¤J¸ê®Æªº±Æµ{ (¥Ø«e¬O¨C¹j¤Q¬í¼g¤J¤@¦¸)

End Sub

Sub actStop()

    actEnabled = False

    On Error Resume Next

    Application.OnTime Now, "ThisWorkBook.onStarter", , False

End Sub


³o¬O C C LAI ¤j¤jªºµ{¦¡
·PÁ±z­Ì
¯qÁ¨à

TOP

        ÀR«ä¦Û¦b : ºw¤ô¦¨ªe¡C²É¦Ì¦¨ÅÚ¡A¤Å»´¤vÆF¡A¤Å¥Hµ½¤p¦Ó¤£¬°¡C
ªð¦^¦Cªí ¤W¤@¥DÃD