Attribute VB_Name = "Common" Option Explicit Global CURRENT_DIR As String Function getDateFrRaceCardLink(ByVal in_str As String) ' https://racing.hkjc.com/racing/information/English/Racing/Racecard.aspx?RaceDate=2024/04/24&Racecourse=HV&RaceNo=2 Dim s_date, s_loc, s_race_num As String s_date = Split(Split(in_str, "=")(1), "&")(0) s_loc = Split(Split(in_str, "=")(2), "&")(0) s_race_num = Split(in_str, "=")(3) getDateFrRaceCardLink = Array(s_date, s_loc, s_race_num) End Function Function readCell(cell_address As String) Dim temp As String temp = Worksheets("Sheet1").Range(cell_address).value readCell = temp End Function Function writeCell(cell_address As String, content As String) 'write cell according to cell_address and content Worksheets("Sheet1").Range(cell_address).value = content writeCell = content End Function Function ResetSheet() Worksheets("Sheet1").Range("A3:AC200").ClearContents End Function Function TidySheet() Worksheets("Sheet1").Range("OK1:OK200").ClearContents 'widen column width Worksheets("Sheet1").Range("A2:DF200").Columns.AutoFit ' align text to center Worksheets("Sheet1").Range("A2:DF200").HorizontalAlignment = xlCenter End Function Function ParseDDMMYYYY(input_string As String) Dim s_day As String Dim s_month As String Dim s_year As String s_day = Split(input_string, "/")(0) s_month = Split(input_string, "/")(1) s_year = Split(input_string, "/")(2) ParseDDMMYYYY = DateSerial(CInt(s_year), CInt(s_month), CInt(s_day)) End Function Sub DisableScreenUpdate Application.ScreenUpdating = False 'disable screen updating Application.Calculation = xlCalculationManual 'disable automatic calculation Application.EnableEvents = False 'disable event handling Application.DisplayAlerts = False 'disable alerts end sub sub ResumeScreenUpdate Application.ScreenUpdating = True 'enable screen updating Application.Calculation = xlCalculationAutomatic 'enable automatic calculation Application.EnableEvents = True 'enable event handling Application.DisplayAlerts = True 'enable alerts end sub