Private Sub CreateAutoAds() ' is button on Dashboard sheet Dim Col As Integer, Ct As Integer, i As Integer, j As Integer, k As Integer, FNCol As Integer Dim OppoCol As Integer, NavCol As Integer Dim H As String, LastGrp As String, Path As String, Suffix As String, t As String Dim NextFN As String, NextFT As String, PrevFN As String, PrevFT As String Dim Data, Months, Names, res, Titles As Variant Path = ReturnTopPath & "\vintageautoads.org" Months = Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December") ' create matrix of info: 0-filename, 1-year-mon, 2-Make (proper case with dashes), 3-Make (w/o dashes) ' 4-spelled out date, 5-nav title maker sort, 6-nav title pub sort, 7-name for cells on sub-pages ' -> note that no other images can be in the images folder Names = SelectJpgs(Path & "\images", "-") ReDim Data(UBound(Names), 7) For i = 0 To UBound(Data) Data(i, 0) = RemoveExtension(Names(i)) res = AllInStr(Data(i, 0), "-") Data(i, 1) = Left(Names(i), res(1) - 1) Data(i, 2) = DropStr(Data(i, 0), res(1)) Data(i, 3) = Replace(Data(i, 2), "-", " ") Data(i, 4) = Months(Right(Data(i, 1), 2) - 1) & " " & Left(Data(i, 1), 4) Data(i, 5) = Data(i, 3) & ": " & Data(i, 4) Data(i, 6) = Data(i, 4) & ": " & Data(i, 3) Data(i, 7) = Data(i, 3) & " (" & Left(Data(i, 4), 3) & " " & Left(Data(i, 1), 4) & ")" Next i ' add issue count to index page InsertIntoHtm Path & "\index.htm", UBound(RemDupSameOrder(ReturnColumn(Data, 1))) + 1, "" ' build list of issues for publication dates index page Names = AppendVectors(ReturnColumn(Data, 1), ReturnFileAsArrayOfRows(Path & "\issues-with-no-auto-ads.txt")) Names = GradeUp(RemDupSameOrder(Names), True, True) LastGrp = "" H = "" For i = 0 To UBound(Names) If LastGrp <> Left(Names(i), 4) Then H = H & " " & vbCrLf H = H & "" & Left(Names(i), 4) & "" & vbCrLf LastGrp = Left(Names(i), 4) End If H = H & "" t = Months(Right(Names(i), 2) - 1) Ct = CompressRows(Data, Names(i), 1, True) If Ct = 0 Then H = H & t Else H = H & "" & t & "" End If H = H & "" & Ct & "" If Ct <> 0 Then H = H & "" & DropStr(Ravel(ReturnColumn(CompressRows(Data, Names(i), 1), 3), ", "), -2) & "" End If H = H & "" & vbCrLf Next i H = H & "" & vbCrLf InsertIntoHtm Path & "\index-pd.htm", H ' build table of contents of unique advertisers for home page Names = GradeUp(RemDupSameOrder(ReturnColumn(Data, 3)), , True) H = "" For i = 0 To UBound(Names) res = GradeUp(ReturnColumn(CompressRows(Data, Names(i), 3), 1), True, True) H = H & "" & Names(i) & "" & UBound(res) + 1 & "" & res(0) & "" & res(UBound(res)) & "" & vbCrLf Next i res = GradeUp(ReturnColumn(Data, 1), True, True) H = H & "Total Ads" & UBound(res) + 1 & "" & res(0) & "" & res(UBound(res)) & "" & vbCrLf H = H & "" & vbCrLf InsertIntoHtm Path & "\index.htm", H & vbCrLf ' we have pages for convertibles and station wagons res = ReturnColumn(Data, 0) For k = 1 To 2 If k = 1 Then Suffix = "convertibles" Else Suffix = "station-wagons" End If Names = ReturnFileAsArrayOfRows(Path & "\" & Suffix & ".txt") H = "" For i = 0 To UBound(Names) j = Iota2(res, Names(i)) H = H & "
" & Data(j, 7) & vbCrLf H = H & "
" & vbCrLf Next i InsertIntoHtm Path & "\" & Suffix & ".htm", H & vbCrLf Next k ' ~~~ loop for the two sorts: 1-publication date, 2-by maker For k = 1 To 2 H = "" If k = 1 Then FNCol = 1 Col = 4 OppoCol = 3 NavCol = 6 Suffix = "-pd" Else Data = SortMatrix(Data, 3) FNCol = 2 Col = 3 OppoCol = 4 NavCol = 5 Suffix = "" End If ' unique names Names = RemDupSameOrder(ReturnColumn(Data, FNCol)) ' file titles for navigation links ReDim Titles(UBound(Names)) For i = 0 To UBound(Names) If k = 1 Then Titles(i) = Left(Names(i), 4) & " - " & Months(Right(Names(i), 2) - 1) Else Titles(i) = Replace(Names(i), "-", " ") End If Next i ' ~~ create sub-index pages For i = 0 To UBound(Names) H = "" & vbCrLf H = H & "" & vbCrLf H = H & "" & vbCrLf H = H & "Holiday Magazine: " & Titles(i) & " Ads" & vbCrLf H = H & "" & vbCrLf H = H & "" & vbCrLf H = H & "" & vbCrLf H = H & "" & vbCrLf H = H & "
" & vbCrLf & vbCrLf H = H & "
Home Page →" If k = 1 Then H = H & " List of Publications →" End If H = H & "
" & vbCrLf & vbCrLf ' navigation block If i = 0 Then PrevFN = Names(UBound(Names)) PrevFT = Titles(UBound(Titles)) Else PrevFN = Names(i - 1) PrevFT = Titles(i - 1) End If If i = UBound(Names) Then NextFN = Names(0) NextFT = Titles(0) Else NextFN = Names(i + 1) NextFT = Titles(i + 1) End If H = H & "
" & vbCrLf H = H & "
← " & PrevFT & "
" & vbCrLf H = H & "
" & NextFT & " →
" & vbCrLf H = H & "
" & vbCrLf & vbCrLf ' page title H = H & "
Holiday Magazine: " & Titles(i) & " Ads
" & vbCrLf H = H & "
" & vbCrLf & "
" & vbCrLf & vbCrLf ' loop for thumbnail cells res = CompressRows(Data, Names(i), FNCol) For j = 0 To UBound(res) H = H & "
" & res(j, OppoCol) & vbCrLf H = H & "
" & vbCrLf Next j H = H & "" & vbCrLf & "" & vbCrLf SaveIfChanged Path & "\" & Names(i) & ".htm", H Next i ' ~~ build htm files (individual ad pages) For i = 0 To UBound(Data) H = "" & vbCrLf H = H & "" & vbCrLf H = H & "" & vbCrLf H = H & "Holiday Magazine: " & Data(i, NavCol) & " Ad" & vbCrLf H = H & "" & vbCrLf H = H & "" & vbCrLf H = H & "" & vbCrLf H = H & "" & vbCrLf H = H & "
" & vbCrLf & vbCrLf H = H & "
" H = H & "List of Makes →" If k = 1 Then H = H & " List of Issues →" End If H = H & "
" & vbCrLf & vbCrLf ' navigation block If i = 0 Then PrevFN = Data(UBound(Data), 0) PrevFT = Data(UBound(Data), NavCol) Else PrevFN = Data(i - 1, 0) PrevFT = Data(i - 1, NavCol) End If If i = UBound(Data) Then NextFN = Data(0, 0) NextFT = Data(0, NavCol) Else NextFN = Data(i + 1, 0) NextFT = Data(i + 1, NavCol) End If H = H & "
" & vbCrLf H = H & "
← " & PrevFT & "
" & vbCrLf H = H & "
" & NextFT & " →
" & vbCrLf H = H & "
" & vbCrLf & vbCrLf ' page title H = H & "
" & Data(i, NavCol) & "
" & vbCrLf H = H & "
" & vbCrLf & "
" & vbCrLf & vbCrLf ' below the sticky header H = H & "" res = GetImageSize(Path & "\images\" & Data(i, 0) & "-f.jpg") H = H & "" & vbCrLf & vbCrLf H = H & "" & vbCrLf & "" & vbCrLf SaveIfChanged Path & "\" & Data(i, 0) & Suffix & ".htm", H Next i Next k AddNavCodeFromOtherSheet Path & "\topnav.htm" End Sub