📄 classhtmlgrabschedule.cls
字号:
VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
Persistable = 0 'NotPersistable
DataBindingBehavior = 0 'vbNone
DataSourceBehavior = 0 'vbNone
MTSTransactionMode = 0 'NotAnMTSObject
END
Attribute VB_Name = "ClassHTMLgrabSchedule"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Option Explicit
Public NoOfEvents As Integer
Dim Grab(1000) As ClassHTMLgrab
Public StartTime As String
Public Sub Save(filename As String)
Dim FileNumber As Integer
Dim i As Integer
FileNumber = FreeFile
Open filename For Output As FileNumber
Print #FileNumber, NoOfEvents
Print #FileNumber, StartTime
For i = 0 To NoOfEvents - 1
Call Grab(i).Save(FileNumber)
Next
Close #FileNumber
End Sub
Public Sub Load(filename As String)
On Error GoTo Load_err
Dim FileNumber As Integer
Dim i As Integer
FileNumber = FreeFile
Open filename For Input As FileNumber
Input #FileNumber, NoOfEvents
Input #FileNumber, StartTime
For i = 0 To NoOfEvents - 1
Set Grab(i) = New ClassHTMLgrab
Call Grab(i).Load(FileNumber)
Next
Close #FileNumber
Load_exit:
Exit Sub
Load_err:
If (Err = 53) Then
Resume Load_exit
End If
MsgBox "classHTMLgrabSchedule/Load/" & Err & "/" & Error$(Err)
Resume Load_exit
End Sub
Public Sub addEvent(Name As String, URL As String, TableIndex As Integer, Port As Integer, Proxy As String, startColumn As Integer, endColumn As Integer, startRow As Integer, endRow As Integer)
On Error GoTo addEvent_err
Dim i As Integer
Dim searching As Boolean
searching = True
i = 0
While (i < NoOfEvents) And (UCase(Grab(i).Name) <> UCase(Name))
i = i + 1
Wend
searching = False
EventEntry:
Set Grab(i) = New ClassHTMLgrab
Grab(i).Name = Name
Grab(i).URL = URL
Grab(i).TableIndex = TableIndex
Grab(i).Port = Port
Grab(i).Proxy = Proxy
Grab(i).startColumn = startColumn
Grab(i).endColumn = endColumn
Grab(i).startRow = startRow
Grab(i).endRow = endRow
If (i = NoOfEvents) Then
NoOfEvents = NoOfEvents + 1
End If
addEvent_exit:
Exit Sub
addEvent_err:
If (Err = 91) And (searching) Then
i = NoOfEvents
Resume EventEntry
End If
MsgBox "classHTMLgrabSchedule/addEvent/" & Err & "/" & Error$(Err)
Resume addEvent_exit
End Sub
Public Sub deleteEvent(EventName As String)
'deletes the given event
Dim i As Integer
i = 0
While (i < NoOfEvents) And (UCase(Grab(i).Name) <> UCase(EventName))
i = i + 1
Wend
If (i < NoOfEvents) Then
Set Grab(i) = Nothing
For i = i To NoOfEvents - 1
Set Grab(i) = Grab(i + 1)
Next
NoOfEvents = NoOfEvents - 1
End If
End Sub
Public Sub getEvent(EventName As String, ByRef URL As String, ByRef TableIndex As Integer, ByRef Proxy As String, ByRef Port As Integer, ByRef startColumn As Integer, ByRef endColumn As Integer, ByRef startRow As Integer, ByRef endRow As Integer)
Dim i As Integer
i = 0
While (i < NoOfEvents) And (UCase(Grab(i).Name) <> UCase(EventName))
i = i + 1
Wend
If (i < NoOfEvents) Then
URL = Grab(i).URL
TableIndex = Grab(i).TableIndex
Proxy = Grab(i).Proxy
Port = Grab(i).Port
startColumn = Grab(i).startColumn
endColumn = Grab(i).endColumn
startRow = Grab(i).startRow
endRow = Grab(i).endRow
End If
End Sub
Public Sub Run(net As Object)
'runs the schedule
Dim i As Integer
For i = 0 To NoOfEvents - 1
Call Grab(i).Grab(net)
Call Grab(i).SaveDataToFile(App.Path & "\" & Grab(i).Name & " " & Format$(Now, "yyyy-mm-dd") & ".txt")
Next
End Sub
Public Sub ShowSchedule(lst As ListBox)
Dim i As Integer
lst.Clear
For i = 0 To NoOfEvents - 1
Call lst.AddItem(Grab(i).Name)
Next
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -