Private Sub Workbook_Open()
RefreshLinks
End Sub
Sub RefreshLinks()
On Error Resume Next
For Each c In ThisWorkbook.Connections
c.Delete
Next
MakeLink ThisWorkbook.Path & "\" & "attachments.csv", "Data", "Data!A2", 1, Array(2), "@"
MakeLink ThisWorkbook.Path & "\" & "msg_adv.csv", "Data", "Data!G2", 1, Array(2), "@"
MakeLink ThisWorkbook.Path & "\" & "msg_by_weeks.csv", "Data", "Data!O2", 1, Array(2), "@"
MakeLink ThisWorkbook.Path & "\" & "outbound_attachments.csv", "Data", "Data!T2", 1, Array(2), "@"
MakeLink ThisWorkbook.Path & "\" & "outbound_msg_adv.csv", "Data", "Data!Z2", 1, Array(2), "@"
MakeLink ThisWorkbook.Path & "\" & "outbound_msg_by_months.csv", "Data", "Data!AH2", 1, Array(2), "@"
MakeLink ThisWorkbook.Path & "\" & "pcsc.txt", "Data", "Data!AL2", 1, Array(2), "@"
MakeLink ThisWorkbook.Path & "\" & "pdrv2_adv.csv", "Data", "Data!AU2", 1, Array(2), "@"
MakeLink ThisWorkbook.Path & "\" & "pdrv2_by_months.csv", "Data", "Data!AZ2", 1, Array(2), "@"
MakeLink ThisWorkbook.Path & "\" & "regulation_adv.csv", "Data", "Data!BE2", 1, Array(5), "m/d/yyyy"
MakeLink ThisWorkbook.Path & "\" & "spam_adv.csv", "Data", "Data!BK2", 1, Array(2), "@"
MakeLink ThisWorkbook.Path & "\" & "stats_by_months.csv", "Data", "Data!BT2", 1, Array(2), "@"
MakeLink ThisWorkbook.Path & "\" & "TAPReport.csv", "Data", "Data!BZ2", 1, Array(2), "@"
MakeLink ThisWorkbook.Path & "\" & "top_virus.csv", "Data", "Data!CJ2", 1, Array(2), "@"
MakeLink ThisWorkbook.Path & "\" & "virus_adv.csv", "Data", "Data!CN2", 1, Array(2), "@"
MakeLink ThisWorkbook.Path & "\" & "virus_by_months.csv", "Data", "Data!CS2", 1, Array(2), "@"
End Sub
Sub MakeLink(strFileName As String, strSheetName As String, strRangeAddress As String, startRow As Long, FirstColmcsvFormat, FirstColmSheetFormat)
With Sheets(strSheetName).QueryTables.Add(Connection:="TEXT;" & strFileName, Destination:=Range(strRangeAddress))
'.Name = "ABC" 'no need to name every query the same (unless you're going to use them)!
'.FieldNames = True'default
'.RowNumbers = False 'default
'.FillAdjacentFormulas = False 'default
'.PreserveFormatting = True 'default
'.RefreshOnFileOpen = False 'default
.RefreshStyle = xlOverwriteCells
'.SavePassword = False 'default
'.SaveData = True 'default
'.AdjustColumnWidth = True 'default
'.RefreshPeriod = 0 'default
'.TextFilePromptOnRefresh = False 'default
.TextFilePlatform = 437
.TextFileStartRow = startRow
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
'.TextFileColumnDataTypes = Array(2)
'.TextFileColumnDataTypes = Array(5)
.TextFileColumnDataTypes = FirstColmcsvFormat
.ResultRange.Columns(1).NumberFormat = FirstColmSheetFormat
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
'.ResultRange.Columns(1).NumberFormat = "m/d/yyyy" 'or however you want it.
End With
End Sub
I can't test just now so just edited your quoted code.