|
发表于 2015-5-22 09:38
|
显示全部楼层
本楼为最佳答案
我来替师父回答,其实就是个定时器
模块中代码- Private Declare Function SetTimer Lib "user32.dll" (ByVal hWnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
- Private Declare Function KillTimer Lib "user32.dll" (ByVal hWnd As Long, ByVal nIDEvent As Long) As Long
- Private mTimer As Long
- 'Run Every 5 Seconds
- Sub StartTimer()
- mTimer = SetTimer(0, 0, 5000, AddressOf ReadFile)
- End Sub
- 'Stop Timer
- Sub StopTimer()
- KillTimer 0, mTimer
- End Sub
- Sub ReadFile()
- 'Read A1 In Sheet1 From Data.xlsx in the same folder
- Dim Wbk As Workbook
- Dim Opened As Boolean
- Application.ScreenUpdating = False
- On Error Resume Next
- Opened = True
- Set Wbk = Workbooks("Data.xlsx")
- If Err.Number <> 0 Then
- Opened = False
- Set Wbk = Workbooks.Open(ThisWorkbook.Path & "\Data.xlsx")
- End If
- ThisWorkbook.Worksheets(1).Range("A1").Value = Wbk.Worksheets(1).Range("A1").Value
- If Opened = False Then
- Wbk.Close False
- End If
- Application.ScreenUpdating = True
- End Sub
复制代码 ThisWorkbook中的代码- Private Sub Workbook_BeforeClose(Cancel As Boolean)
- StopTimer
- End Sub
- Private Sub Workbook_Open()
- StartTimer
- End Sub
复制代码
AutoRead.zip
(20.9 KB, 下载次数: 13)
|
|