Files
OrganLit/modGenerateWebSite.vb
2026-03-07 19:38:21 -06:00

1026 lines
43 KiB
VB.net

Imports System.Data
Imports System.IO
Imports System.Windows.Forms
Imports System.Xml
Imports System.Xml.Xsl
Module modGenerateWebSite
'Private Const cstrOrganLitWebPath As String = "F:\Data\Shared\JREUSS Web page\OrganLit\"
'Private Const cstrXSLPath As String = "F:\VBDOTNETPROJECTS\OrganLit\"
Private Const cstrOrganLitWebPath As String = "Z:\REUSS Web page\organlit\"
Private Const cstrXSLPath As String = "Z:\VBDOTNETPROJECTS\OrganLit\"
Public Sub GenerateWebSite()
Try
MyGlobals.FlushCachedObjects()
Dim lstrOrganLitWebPath As String
lstrOrganLitWebPath = cstrOrganLitWebPath
Dim lstrXMLFileName As String
lstrXMLFileName = lstrOrganLitWebPath & "OrganLit.xml"
Dim lstrXSLPath As String
lstrXSLPath = cstrXSLPath
GenerateXML(lstrXMLFileName)
GenerateHymnTuneBasedPage(lstrOrganLitWebPath, lstrXSLPath, lstrXMLFileName)
GenerateNonHymnTuneBasedPage(lstrOrganLitWebPath, lstrXSLPath, lstrXMLFileName)
GenerateComposerPage(lstrOrganLitWebPath, lstrXSLPath, lstrXMLFileName)
GenerateBookPage(lstrOrganLitWebPath, lstrXSLPath, lstrXMLFileName)
GenerateHymnTuneNameIndex(lstrOrganLitWebPath, lstrXSLPath, lstrXMLFileName)
GenerateHymnIndex(lstrOrganLitWebPath, lstrXSLPath, lstrXMLFileName)
GenerateBookIndex(lstrOrganLitWebPath, lstrXSLPath, lstrXMLFileName)
GenerateComposerIndex(lstrOrganLitWebPath, lstrXSLPath, lstrXMLFileName)
GenerateRootIndex(lstrOrganLitWebPath, lstrXSLPath, lstrXMLFileName)
File.Delete(lstrXMLFileName)
MyGlobals.FlushCachedObjects()
MessageBox.Show("Done")
Catch ex As Exception
MessageBox.Show("Error in GenerateWebSite:" & ControlChars.CrLf & ex.ToString)
End Try
End Sub
Private Sub GenerateXML(ByVal lstrXMLFileName As String)
Try
Dim objXMLWriter As New XmlTextWriter(lstrXMLFileName, System.Text.Encoding.UTF8)
objXMLWriter.Formatting = Formatting.Indented
objXMLWriter.WriteStartDocument()
objXMLWriter.WriteStartElement("OrganLit")
GenerateXMLForHymnTunes(objXMLWriter)
GenerateXMLForHymnTuneNames(objXMLWriter)
GenerateXMLForComposers(objXMLWriter)
GenerateXMLForInstrumentations(objXMLWriter)
GenerateXMLForPublishers(objXMLWriter)
GenerateXMLForHymnals(objXMLWriter)
GenerateXMLForHymns(objXMLWriter)
GenerateXMLForBooks(objXMLWriter)
GenerateXMLForWorks(objXMLWriter)
objXMLWriter.WriteEndElement()
objXMLWriter.WriteEndDocument()
objXMLWriter.Close()
Catch ex As Exception
MessageBox.Show("Error in GenerateWebSite:" & ControlChars.CrLf & ex.ToString)
End Try
End Sub
Private Sub GenerateXMLForHymnTunes(ByRef objXMLWriter As XmlTextWriter)
Try
Dim lintTuneCountOnPage As Integer
Dim lintPageCount As Integer
Dim ldbcmdHymnTuneCommand As New SqlClient.SqlCommand
ldbcmdHymnTuneCommand.CommandText = "sel_hymn_tune_all"
ldbcmdHymnTuneCommand.CommandType = CommandType.StoredProcedure
Dim ldbdsHymnTunes As DataSet = MyGlobals.g_objDatabaseLayer.ExecuteDataSet(ldbcmdHymnTuneCommand)
Dim ldbrwHymnTune As DataRow
lintTuneCountOnPage = 0
lintPageCount = 0
objXMLWriter.WriteStartElement("HymnTunes")
For Each ldbrwHymnTune In ldbdsHymnTunes.Tables(0).Rows
lintTuneCountOnPage = lintTuneCountOnPage + 1
If lintTuneCountOnPage = 1 Then
lintPageCount = lintPageCount + 1
End If
Dim strHymnTuneBookmark As String = "Tune" & lintTuneCountOnPage
Dim ldbcmdHymnTuneNameCommand As New SqlClient.SqlCommand
objXMLWriter.WriteStartElement("HymnTune")
objXMLWriter.WriteElementString("HymnTuneID", CType(ldbrwHymnTune.Item("hymn_tune_id"), Guid).ToString)
objXMLWriter.WriteElementString("WebPageNumber", CType(lintPageCount, String))
objXMLWriter.WriteElementString("WebPageBookmark", CType(lintTuneCountOnPage, String))
objXMLWriter.WriteEndElement()
'If lintTuneCountOnPage = 50 Then
' lintTuneCountOnPage = 0
'End If
Next
ldbdsHymnTunes.Clear()
objXMLWriter.WriteEndElement()
Catch ex As Exception
MessageBox.Show("Error in GenerateXMLForHymnTunes:" & ControlChars.CrLf & ex.ToString)
End Try
End Sub
Private Sub GenerateXMLForHymnTuneNames(ByRef objXMLWriter As XmlTextWriter)
Try
Dim lobjHymnTuneNameCollection As System.Collections.Generic.List(Of clsHymnTuneName) = clsHymnTuneName.GetAllHymnTuneNames
Dim lobjHymnTuneName As clsHymnTuneName
objXMLWriter.WriteStartElement("HymnTuneNames")
For Each lobjHymnTuneName In lobjHymnTuneNameCollection
lobjHymnTuneName.WriteXML(objXMLWriter)
Next
objXMLWriter.WriteEndElement()
Catch ex As Exception
MessageBox.Show("Error in GenerateXMLForHymnTuneNames:" & ControlChars.CrLf & ex.ToString)
End Try
End Sub
Private Sub GenerateXMLForComposers(ByRef objXMLWriter As XmlTextWriter)
Try
Dim lobjComposerCollection As System.Collections.Generic.List(Of clsComposer) = clsComposer.GetAllComposers
Dim lobjComposer As clsComposer
objXMLWriter.WriteStartElement("Composers")
For Each lobjComposer In lobjComposerCollection
lobjComposer.WriteXML(objXMLWriter)
Next
objXMLWriter.WriteEndElement()
Catch ex As Exception
MessageBox.Show("Error in GenerateXMLForComposers:" & ControlChars.CrLf & ex.ToString)
End Try
End Sub
Private Sub GenerateXMLForInstrumentations(ByRef objXMLWriter As XmlTextWriter)
Try
Dim lobjInstrumentationCollection As System.Collections.Generic.List(Of clsInstrumentation) = clsInstrumentation.GetAllInstrumentations
Dim lobjInstrumentation As clsInstrumentation
objXMLWriter.WriteStartElement("Instrumentations")
For Each lobjInstrumentation In lobjInstrumentationCollection
lobjInstrumentation.WriteXML(objXMLWriter)
Next
objXMLWriter.WriteEndElement()
Catch ex As Exception
MessageBox.Show("Error in GenerateXMLForInstrumentations:" & ControlChars.CrLf & ex.ToString)
End Try
End Sub
Private Sub GenerateXMLForPublishers(ByRef objXMLWriter As XmlTextWriter)
Try
Dim lobjPublisherCollection As System.Collections.Generic.List(Of clsPublisher) = clsPublisher.GetAllPublishers
Dim lobjPublisher As clsPublisher
objXMLWriter.WriteStartElement("Publishers")
For Each lobjPublisher In lobjPublisherCollection
lobjPublisher.WriteXML(objXMLWriter)
Next
objXMLWriter.WriteEndElement()
Catch ex As Exception
MessageBox.Show("Error in GenerateXMLForPublishers:" & ControlChars.CrLf & ex.ToString)
End Try
End Sub
Private Sub GenerateXMLForHymnals(ByRef objXMLWriter As XmlTextWriter)
Try
Dim lobjHymnalCollection As System.Collections.Generic.List(Of clsHymnal) = clsHymnal.GetAllHymnals
Dim lobjHymnal As clsHymnal
objXMLWriter.WriteStartElement("Hymnals")
For Each lobjHymnal In lobjHymnalCollection
lobjHymnal.WriteXML(objXMLWriter)
Next
objXMLWriter.WriteEndElement()
Catch ex As Exception
MessageBox.Show("Error in GenerateXMLForHymnals:" & ControlChars.CrLf & ex.ToString)
End Try
End Sub
Private Sub GenerateXMLForHymns(ByRef objXMLWriter As XmlTextWriter)
Try
Dim lobjHymnCollection As System.Collections.Generic.List(Of clsHymn) = clsHymn.GetAllHymns
Dim lobjHymn As clsHymn
objXMLWriter.WriteStartElement("Hymns")
For Each lobjHymn In lobjHymnCollection
lobjHymn.WriteXML(objXMLWriter)
Next
objXMLWriter.WriteEndElement()
Catch ex As Exception
MessageBox.Show("Error in GenerateXMLForHymns:" & ControlChars.CrLf & ex.ToString)
End Try
End Sub
Private Sub GenerateXMLForBooks(ByRef objXMLWriter As XmlTextWriter)
Try
Dim lobjBookCollection As System.Collections.Generic.List(Of clsBook) = clsBook.GetAllBooks
Dim lobjBook As clsBook
objXMLWriter.WriteStartElement("Books")
For Each lobjBook In lobjBookCollection
lobjBook.WriteXML(objXMLWriter)
Next
objXMLWriter.WriteEndElement()
Catch ex As Exception
MessageBox.Show("Error in GenerateXMLForBooks:" & ControlChars.CrLf & ex.ToString)
End Try
End Sub
Private Sub GenerateXMLForWorks(ByRef objXMLWriter As XmlTextWriter)
Try
Dim lobjWorkCollection As System.Collections.Generic.List(Of clsWork) = clsWork.GetAllWorks
Dim lobjWork As clsWork
objXMLWriter.WriteStartElement("Works")
For Each lobjWork In lobjWorkCollection
lobjWork.WriteXML(objXMLWriter)
Next
objXMLWriter.WriteEndElement()
Catch ex As Exception
MessageBox.Show("Error in GenerateXMLForWorks:" & ControlChars.CrLf & ex.ToString)
End Try
End Sub
Private Sub GenerateHymnTuneBasedPage(ByVal lstrOrganLitWebPath As String, ByVal lstrXSLPath As String, ByVal lstrXMLFileName As String)
Try
Dim ldbcmdHymnTuneCommand As New SqlClient.SqlCommand
ldbcmdHymnTuneCommand.CommandText = "sel_hymn_tune_name_distinct_id"
ldbcmdHymnTuneCommand.CommandType = CommandType.StoredProcedure
Dim ldbdsHymnTunes As DataSet = MyGlobals.g_objDatabaseLayer.ExecuteDataSet(ldbcmdHymnTuneCommand)
Dim ldbrwHymnTune As DataRow
For Each ldbrwHymnTune In ldbdsHymnTunes.Tables(0).Rows
Dim strHymnTuneID As String
strHymnTuneID = CType(ldbrwHymnTune.Item("hymn_tune_id"), Guid).ToString
Dim strHymnTuneBookmark As String = "Tune" & strHymnTuneID
Dim ldbcmdHymnTuneNameCommand As New SqlClient.SqlCommand
Dim xslt As New System.Xml.Xsl.XslCompiledTransform
xslt.Load(lstrXSLPath & "OrganLitHymnTuneBasedByTune.xsl")
Dim objArgList As New System.Xml.Xsl.XsltArgumentList
objArgList.AddParam("HymnTuneID", "", strHymnTuneID)
Dim objTextWriter As New System.IO.FileStream(lstrOrganLitWebPath & GeneratePageNameForHymnTune(strHymnTuneID), FileMode.Create)
xslt.Transform(lstrXMLFileName, objArgList, objTextWriter)
objTextWriter.Close()
objTextWriter.Dispose()
objTextWriter = Nothing
Next
ldbdsHymnTunes.Clear()
Catch ex As XsltException
MessageBox.Show("Error in GenerateHymnTuneBasedPage:" & ControlChars.CrLf & ex.ToString)
Catch ex As Exception
MessageBox.Show("Error in GenerateHymnTuneBasedPage:" & ControlChars.CrLf & ex.ToString)
End Try
End Sub
Private Function GeneratePageNameForHymnTune(ByVal strHymnTuneID As String) As String
Return "hymntuneworks-" + strHymnTuneID + ".htm"
End Function
Private Sub GenerateNonHymnTuneBasedPage(ByVal lstrOrganLitWebPath As String, ByVal lstrXSLPath As String, ByVal lstrXMLFileName As String)
Try
Dim xslt As New System.Xml.Xsl.XslCompiledTransform
xslt.Load(lstrXSLPath & "OrganLitNonHymnTuneBased.xsl")
xslt.Transform(lstrXMLFileName, lstrOrganLitWebPath & "nonhymntuneworks.htm")
Catch ex As XsltException
MessageBox.Show("Error in GenerateNonHymnTuneBasedPage:" & ControlChars.CrLf & ex.ToString)
Catch ex As Exception
MessageBox.Show("Error in GenerateNonHymnTuneBasedPage:" & ControlChars.CrLf & ex.ToString)
End Try
End Sub
Private Sub GenerateComposerPage(ByVal lstrOrganLitWebPath As String, ByVal lstrXSLPath As String, ByVal lstrXMLFileName As String)
Try
Dim xslt As New System.Xml.Xsl.XslCompiledTransform
xslt.Load(lstrXSLPath & "OrganLitWorksByComposer.xsl")
xslt.Transform(lstrXMLFileName, lstrOrganLitWebPath & "worksbycomposer.htm")
Catch ex As XsltException
MessageBox.Show("Error in GenerateComposerPage:" & ControlChars.CrLf & ex.ToString)
Catch ex As Exception
MessageBox.Show("Error in GenerateComposerPage:" & ControlChars.CrLf & ex.ToString)
End Try
End Sub
Private Sub GenerateBookPage(ByVal lstrOrganLitWebPath As String, ByVal lstrXSLPath As String, ByVal lstrXMLFileName As String)
Try
Dim xslt As New System.Xml.Xsl.XslCompiledTransform
xslt.Load(lstrXSLPath & "OrganLitWorksByBook.xsl")
xslt.Transform(lstrXMLFileName, lstrOrganLitWebPath & "worksbybook.htm")
Catch ex As XsltException
MessageBox.Show("Error in GenerateBookPage:" & ControlChars.CrLf & ex.ToString)
Catch ex As Exception
MessageBox.Show("Error in GenerateBookPage:" & ControlChars.CrLf & ex.ToString)
End Try
End Sub
Private Sub GenerateHymnTuneNameIndex(ByVal lstrOrganLitWebPath As String, ByVal lstrXSLPath As String, ByVal lstrXMLFileName As String)
Try
Dim xslt As New System.Xml.Xsl.XslCompiledTransform
xslt.Load(lstrXSLPath & "OrganLitIndexByHymnTuneName.xsl")
xslt.Transform(lstrXMLFileName, lstrOrganLitWebPath & "indexbyhymntunename.htm")
Catch ex As XsltException
MessageBox.Show("Error in GenerateHymnTuneNameIndex:" & ControlChars.CrLf & ex.ToString)
Catch ex As Exception
MessageBox.Show("Error in GenerateHymnTuneNameIndex:" & ControlChars.CrLf & ex.ToString)
End Try
End Sub
Private Sub GenerateHymnIndex(ByVal lstrOrganLitWebPath As String, ByVal lstrXSLPath As String, ByVal lstrXMLFileName As String)
Try
Dim xslt As New System.Xml.Xsl.XslCompiledTransform
xslt.Load(lstrXSLPath & "OrganLitIndexByHymn.xsl")
xslt.Transform(lstrXMLFileName, lstrOrganLitWebPath & "indexbyhymn.htm")
Catch ex As XsltException
MessageBox.Show("Error in GenerateHymnIndex:" & ControlChars.CrLf & ex.ToString)
Catch ex As Exception
MessageBox.Show("Error in GenerateHymnIndex:" & ControlChars.CrLf & ex.ToString)
End Try
End Sub
Private Sub GenerateBookIndex(ByVal lstrOrganLitWebPath As String, ByVal lstrXSLPath As String, ByVal lstrXMLFileName As String)
Try
Dim xslt As New System.Xml.Xsl.XslCompiledTransform
xslt.Load(lstrXSLPath & "OrganLitIndexByBook.xsl")
xslt.Transform(lstrXMLFileName, lstrOrganLitWebPath & "indexbybook.htm")
Catch ex As XsltException
MessageBox.Show("Error in GenerateBookIndex:" & ControlChars.CrLf & ex.ToString)
Catch ex As Exception
MessageBox.Show("Error in GenerateBookIndex:" & ControlChars.CrLf & ex.ToString)
End Try
End Sub
Private Sub GenerateComposerIndex(ByVal lstrOrganLitWebPath As String, ByVal lstrXSLPath As String, ByVal lstrXMLFileName As String)
Try
Dim xslt As New System.Xml.Xsl.XslCompiledTransform
xslt.Load(lstrXSLPath & "OrganLitIndexByComposer.xsl")
xslt.Transform(lstrXMLFileName, lstrOrganLitWebPath & "indexbycomposer.htm")
Catch ex As XsltException
MessageBox.Show("Error in GenerateComposerIndex:" & ControlChars.CrLf & ex.ToString)
Catch ex As Exception
MessageBox.Show("Error in GenerateComposerIndex:" & ControlChars.CrLf & ex.ToString)
End Try
End Sub
Private Sub GenerateRootIndex(ByVal lstrOrganLitWebPath As String, ByVal lstrXSLPath As String, ByVal lstrXMLFileName As String)
File.Copy(lstrXSLPath & "index.htm", lstrOrganLitWebPath & "index.htm", True)
End Sub
'Public Sub GenerateWebSite()
' Dim lcolWebHymnTuneBookmarkCollection As New Hashtable
' Dim lblnSuccess As Boolean
' Dim llngTuneArraySubCount As Long
' Dim lstrLastHymnalName As String
' Dim llngHymnTunePageToUse As Long
' Dim llngHymnTuneNameCount As Long
' Dim lstrOrganLitWebPath As String
' Dim lstrLastComposerName As String
' Dim llngPageCount As Long
' Dim llngHymnCount As Long
' Dim lstrBookmarkToUse As String
' Dim lblnFirstHymnTuneNameForTune As Boolean
' Dim objOutputFile As StreamWriter
' lstrOrganLitWebPath = "C:\Documents and Settings\Jon\My Documents\JReuss Web page\OrganLit\"
' Dim ldbcmdHymnTuneCommand As New SqlClient.SqlCommand
' ldbcmdHymnTuneCommand.CommandText = "sel_hymn_tune_all"
' ldbcmdHymnTuneCommand.CommandType = CommandType.StoredProcedure
' Dim ldbdsHymnTunes As DataSet = MyGlobals.g_objDatabaseLayer.ExecuteDataSet(ldbcmdHymnTuneCommand)
' Dim ldbrwHymnTune As DataRow
' llngTuneArraySubCount = 0
' llngPageCount = 0
' For Each ldbrwHymnTune In ldbdsHymnTunes.Tables(0).Rows
' llngTuneArraySubCount = llngTuneArraySubCount + 1
' If llngTuneArraySubCount = 1 Then
' llngPageCount = llngPageCount + 1
' objOutputFile = New StreamWriter(lstrOrganLitWebPath & "OrganLitPage" & llngPageCount & ".htm")
' WriteWebPageStart(objOutputFile)
' WriteAsHeadingText(objOutputFile, "Partial Listing of Hymn Tunes")
' WriteParagraphBreak(objOutputFile)
' End If
' Dim strHymnTuneBookmark As String = "Tune" & llngTuneArraySubCount
' lcolWebHymnTuneBookmarkCollection.Add(CType(ldbrwHymnTune.Item("hymn_tune_id"), Guid), New clsWebHymnTuneBookmark(CType(ldbrwHymnTune.Item("hymn_tune_id"), Guid), llngPageCount, strHymnTuneBookmark))
' WriteBookmarkTarget(objOutputFile, strHymnTuneBookmark)
' Dim ldbcmdHymnTuneNameCommand As New SqlClient.SqlCommand
' ldbcmdHymnTuneNameCommand.CommandText = "sel_hymn_tune_name_by_hymn_tune_id"
' ' Set up parameter for stored procedure
' Dim prmHymnTuneNameID As New SqlClient.SqlParameter
' prmHymnTuneNameID.ParameterName = "@hymn_tune_id"
' prmHymnTuneNameID.SqlDbType = SqlDbType.UniqueIdentifier
' 'prmHymnTuneNameID.Size = 5
' prmHymnTuneNameID.Value = CType(ldbrwHymnTune.Item("hymn_tune_id"), Guid)
' ldbcmdHymnTuneNameCommand.Parameters.Add(prmHymnTuneNameID)
' ldbcmdHymnTuneNameCommand.CommandType = CommandType.StoredProcedure
' Dim ldbdsHymnTuneNames As DataSet = MyGlobals.g_objDatabaseLayer.ExecuteDataSet(ldbcmdHymnTuneNameCommand)
' Dim ldbrwHymnTuneName As DataRow
' lblnFirstHymnTuneNameForTune = True
' For Each ldbrwHymnTuneName In ldbdsHymnTuneNames.Tables(0).Rows
' If lblnFirstHymnTuneNameForTune Then
' If ldbdsHymnTuneNames.Tables(0).Rows.Count > 1 Then
' WriteAsBoldText(objOutputFile, "Tune Name (with potential alternate names or spellings):")
' WriteLineBreak(objOutputFile)
' WriteAsBoldText(objOutputFile, " " & CType(ldbrwHymnTuneName.Item("hymn_tune_name"), String))
' WriteLineBreak(objOutputFile)
' Else
' WriteAsBoldText(objOutputFile, "Tune Name: " & CType(ldbrwHymnTuneName.Item("hymn_tune_name"), String))
' WriteLineBreak(objOutputFile)
' End If
' lblnFirstHymnTuneNameForTune = False
' Else
' WriteAsBoldText(objOutputFile, " " & CType(ldbrwHymnTuneName.Item("hymn_tune_name"), String))
' WriteLineBreak(objOutputFile)
' End If
' Next
' ldbdsHymnTuneNames.Clear()
' lstrSQL = "sel_hymn_info_by_hymn_tune_id '" & ldbrwHymnTune("hymn_tune_id") & "'"
' lblnSuccess = GetDBData(ldbDatabase, lsnaHymn, "SS", lstrSQL)
' If lblnSuccess Then
' If Not lsnaHymn.EOF Then
' llngHymnCount = 0
' Do Until lsnaHymn.EOF
' llngHymnCount = llngHymnCount + 1
' Select Case llngHymnCount
' Case 1
' WriteAsBoldText(objOutputFile,"Hymn(s): " & lsnaHymn("hymnal_abbreviation") & lsnaHymn("hymn_number") & " " & lsnaHymn("hymn_name"))
' WriteLineBreak(objOutputFile)
' Case Else
' WriteAsBoldText(objOutputFile, " " & lsnaHymn("hymnal_abbreviation") & lsnaHymn("hymn_number") & " " & lsnaHymn("hymn_name"))
' WriteLineBreak(objOutputFile)
' End Select
' lsnaHymn.MoveNext()
' Loop
' End If
' lsnaHymn.Close()
' End If
' lsnaHymn = Nothing
' lstrSQL = "sel_work_info_by_hymn_tune_id '" & ldbrwHymnTune("hymn_tune_id") & "'"
' lblnSuccess = GetDBData(ldbDatabase, lsnaWork, "SS", lstrSQL)
' If lblnSuccess Then
' If Not lsnaWork.EOF Then
' Selection.Font.Italic = False
' Selection.Font.Bold = False
' Selection.TypeText(Text:="Work(s):")
' WriteLineBreak(objOutputFile)
' Do Until lsnaWork.EOF
' 'If Trim$(("" & lsnaWork("composer_name"))) <> Trim$(("" & lsnaWork("book_info_composer_name"))) Then
' Selection.Font.Italic = False
' Selection.Font.Bold = False
' Selection.TypeText(Text:=lsnaWork("composer_name") & " ")
' 'End If
' Selection.Font.Italic = False
' Selection.Font.Bold = False
' Selection.TypeText(Text:="""" & lsnaWork("work_name"))
' If Trim$("" & lsnaWork("opus_info")) <> "" Then
' Selection.TypeText(Text:=" - " & Trim$(lsnaWork("opus_info")))
' End If
' Selection.TypeText(Text:="""" & " ")
' Selection.Font.Italic = True
' Selection.Font.Bold = False
' Selection.TypeText(Text:=lsnaWork("book_info_book_title") & " ")
' If Trim$(("" & lsnaWork("book_info_composer_name"))) = "" Then
' Selection.Font.Italic = False
' Selection.Font.Bold = False
' Selection.TypeText(Text:="(Collection) ")
' Else
' If Trim$(("" & lsnaWork("composer_name"))) <> Trim$(("" & lsnaWork("book_info_composer_name"))) Then
' Selection.Font.Italic = False
' Selection.Font.Bold = False
' Selection.TypeText(Text:=lsnaWork("book_info_composer_name") & " ")
' End If
' End If
' If Not IsNull(lsnaWork("page_number")) Then
' If lsnaWork("page_number") <> 0 Then
' Selection.Font.Italic = False
' Selection.Font.Bold = False
' Selection.TypeText(Text:="p." & lsnaWork("page_number"))
' End If
' End If
' WriteLineBreak(objOutputFile)
' lsnaWork.MoveNext()
' Loop
' End If
' lsnaWork.Close()
' End If
' lsnaWork = Nothing
' WriteParagraphBreak(objOutputFile)
' If llngTuneArraySubCount = 30 Then
' llngTuneArraySubCount = 0
' objOutputFile.Close()
' End If
' Next
' If llngTuneArraySubCount > 0 Then
' objOutputFile.Close()
' End If
' ldbdsHymnTunes.Clear()
' lstrSQL = "sel_hymn_info_all"
' lblnSuccess = GetDBData(ldbDatabase, lsnaHymn, "SS", lstrSQL)
' If lblnSuccess = False Then
' MsgBox("Error getting data - quitting")
' Exit Sub
' End If
' If Not lsnaHymn.EOF Then
' Documents.Add(Template:="Normal", NewTemplate:=False, DocumentType:=1)
' Selection.Font.Name = "Times New Roman"
' Selection.Font.Size = 18
' Selection.Font.Italic = False
' Selection.Font.Bold = True
' Selection.TypeText(Text:="OrganLit Hymns")
' WriteParagraphBreak(objOutputFile)
' Selection.Font.Size = 12
' lstrLastHymnalName = ""
' Do Until lsnaHymn.EOF
' If lstrLastHymnalName <> lsnaHymn("hymnal_name") Then
' Selection.TypeParagraph()
' Selection.Font.Italic = False
' Selection.Font.Bold = True
' Selection.TypeText(Text:=lsnaHymn("hymnal_name"))
' Selection.Font.Italic = False
' Selection.Font.Bold = False
' WriteParagraphBreak(objOutputFile)
' lstrLastHymnalName = lsnaHymn("hymnal_name")
' End If
' llngHymnTunePageToUse = 0
' If Not IsNull(lsnaHymn("hymn_tune_id")) Then
' GetPageNumberAndBookmarkForTune(lsnaHymn("hymn_tune_id"), llngHymnTunePageToUse, lstrBookmarkToUse)
' End If
' If llngHymnTunePageToUse = 0 Then
' Selection.Font.Italic = False
' Selection.Font.Bold = False
' Selection.TypeText(Text:=lsnaHymn("hymnal_abbreviation") & lsnaHymn("hymn_number") & " " & lsnaHymn("hymn_name")) 'no hyperlink
' Else
' Selection.Font.Italic = False
' Selection.Font.Bold = False
' ActiveDocument.Hyperlinks.Add(Anchor:=Selection.Range, _
' Address:="OrganLitPage" & llngHymnTunePageToUse & ".htm", _
' SubAddress:=lstrBookmarkToUse, _
' ScreenTip:="", _
' TextToDisplay:=lsnaHymn("hymnal_abbreviation") & lsnaHymn("hymn_number") & " " & lsnaHymn("hymn_name"))
' End If
' Selection.Font.Italic = False
' Selection.Font.Bold = False
' WriteLineBreak(objOutputFile)
' lsnaHymn.MoveNext()
' Loop
' ActiveDocument.SaveAs(FileName:=lstrOrganLitWebPath & "indexbyhymn.htm", _
' FileFormat:=wdFormatFilteredHTML, _
' LockComments:=False, Password:="", AddToRecentFiles:=False, _
' WritePassword:="", ReadOnlyRecommended:=False, _
' EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, _
' SaveFormsData:=False, SaveAsAOCELetter:=False)
' ActiveDocument.Close()
' End If
' lsnaHymn.Close()
' lsnaHymn = Nothing
' lstrSQL = "sel_hymn_tune_name_all"
' lblnSuccess = GetDBData(ldbDatabase, ldbrwHymnTune, "SS", lstrSQL)
' If lblnSuccess = False Then
' MsgBox("Error getting data - quitting")
' Exit Sub
' End If
' If Not ldbrwHymnTune.EOF Then
' Documents.Add(Template:="Normal", NewTemplate:=False, DocumentType:=1)
' Selection.Font.Name = "Times New Roman"
' Selection.Font.Size = 18
' Selection.Font.Italic = False
' Selection.Font.Bold = True
' Selection.TypeText(Text:="OrganLit Hymn Tunes")
' WriteParagraphBreak(objOutputFile)
' Selection.Font.Size = 12
' lstrLastHymnalName = ""
' Do Until ldbrwHymnTune.EOF
' llngHymnTunePageToUse = 0
' If Not IsNull(ldbrwHymnTune("hymn_tune_id")) Then
' GetPageNumberAndBookmarkForTune(ldbrwHymnTune("hymn_tune_id"), llngHymnTunePageToUse, lstrBookmarkToUse)
' End If
' If llngHymnTunePageToUse = 0 Then
' Selection.Font.Italic = False
' Selection.Font.Bold = False
' Selection.TypeText(Text:=ldbrwHymnTune("hymn_tune_name")) 'No hyperlink
' Else
' Selection.Font.Italic = False
' Selection.Font.Bold = False
' ActiveDocument.Hyperlinks.Add(Anchor:=Selection.Range, _
' Address:="OrganLitPage" & llngHymnTunePageToUse & ".htm", _
' SubAddress:=lstrBookmarkToUse, _
' ScreenTip:="", _
' TextToDisplay:=ldbrwHymnTune("hymn_tune_name"))
' End If
' Selection.Font.Italic = False
' Selection.Font.Bold = False
' WriteLineBreak(objOutputFile)
' ldbrwHymnTune.MoveNext()
' Loop
' ActiveDocument.SaveAs(FileName:=lstrOrganLitWebPath & "indexbyhymntune.htm", _
' FileFormat:=wdFormatFilteredHTML, _
' LockComments:=False, Password:="", AddToRecentFiles:=False, _
' WritePassword:="", ReadOnlyRecommended:=False, _
' EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, _
' SaveFormsData:=False, SaveAsAOCELetter:=False)
' ActiveDocument.Close()
' End If
' ldbrwHymnTune.Close()
' ldbrwHymnTune = Nothing
' 'non-hymn tune based works
' lstrSQL = "sel_work_info_all_non_tune_based"
' lblnSuccess = GetDBData(ldbDatabase, lsnaWork, "SS", lstrSQL)
' If lblnSuccess = False Then
' MsgBox("Error getting data - quitting")
' Exit Sub
' End If
' Documents.Add(Template:="Normal", NewTemplate:=False, DocumentType:=1)
' Selection.Font.Name = "Times New Roman"
' Selection.Font.Size = 18
' Selection.Font.Italic = False
' Selection.Font.Bold = True
' Selection.TypeText(Text:="OrganLit Works Not Based on Hymn Tunes")
' WriteParagraphBreak(objOutputFile)
' Selection.Font.Size = 12
' If Not lsnaWork.EOF Then
' Selection.Font.Italic = False
' Selection.Font.Bold = False
' Do Until lsnaWork.EOF
' 'If Trim$(("" & lsnaWork("composer_name"))) <> Trim$(("" & lsnaWork("book_info_composer_name"))) Then
' Selection.Font.Italic = False
' Selection.Font.Bold = False
' Selection.TypeText(Text:=lsnaWork("composer_name") & " ")
' 'End If
' Selection.Font.Italic = False
' Selection.Font.Bold = False
' Selection.TypeText(Text:="""" & lsnaWork("work_name"))
' If Trim$("" & lsnaWork("opus_info")) <> "" Then
' Selection.TypeText(Text:=" - " & Trim$(lsnaWork("opus_info")))
' End If
' Selection.TypeText(Text:="""" & " ")
' Selection.Font.Italic = True
' Selection.Font.Bold = False
' Selection.TypeText(Text:=lsnaWork("book_info_book_title") & " ")
' If Trim$(("" & lsnaWork("book_info_composer_name"))) = "" Then
' Selection.Font.Italic = False
' Selection.Font.Bold = False
' Selection.TypeText(Text:="(Collection) ")
' Else
' If Trim$(("" & lsnaWork("composer_name"))) <> Trim$(("" & lsnaWork("book_info_composer_name"))) Then
' Selection.Font.Italic = False
' Selection.Font.Bold = False
' Selection.TypeText(Text:=lsnaWork("book_info_composer_name") & " ")
' End If
' End If
' If Not IsNull(lsnaWork("page_number")) Then
' If lsnaWork("page_number") <> 0 Then
' Selection.Font.Italic = False
' Selection.Font.Bold = False
' Selection.TypeText(Text:="p." & lsnaWork("page_number") & " ")
' End If
' End If
' WriteLineBreak(objOutputFile)
' lsnaWork.MoveNext()
' Loop
' End If
' lsnaWork.Close()
' lsnaWork = Nothing
' ActiveDocument.SaveAs(FileName:=lstrOrganLitWebPath & "nonhymntuneworks.htm", _
' FileFormat:=wdFormatFilteredHTML, _
' LockComments:=False, Password:="", AddToRecentFiles:=False, _
' WritePassword:="", ReadOnlyRecommended:=False, _
' EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, _
' SaveFormsData:=False, SaveAsAOCELetter:=False)
' ActiveDocument.Close()
' 'Works By Composer
' lstrSQL = "sel_work_info_all_composer_order"
' lblnSuccess = GetDBData(ldbDatabase, lsnaWork, "SS", lstrSQL)
' If lblnSuccess = False Then
' MsgBox("Error getting data - quitting")
' Exit Sub
' End If
' Documents.Add(Template:="Normal", NewTemplate:=False, DocumentType:=1)
' Selection.Font.Name = "Times New Roman"
' Selection.Font.Size = 18
' Selection.Font.Italic = False
' Selection.Font.Bold = True
' Selection.TypeText(Text:="OrganLit Works By Composer")
' WriteParagraphBreak(objOutputFile)
' Selection.Font.Size = 12
' If Not lsnaWork.EOF Then
' 'Documents.Add Template:="C:\OFS\WORDTEMPLATES\Normal.dot", NewTemplate:= _
' ' False
' Selection.Font.Italic = False
' Selection.Font.Bold = False
' Do Until lsnaWork.EOF
' If lstrLastComposerName <> lsnaWork("composer_name") Then
' 'With ActiveDocument.Bookmarks
' ' .Add Range:=Selection.Range, Name:="Composer" & lsnaWork("Composer.ComposerId")
' ' .DefaultSorting = wdSortByName
' ' .ShowHidden = False
' 'End With
' Selection.TypeParagraph()
' Selection.Font.Italic = False
' Selection.Font.Bold = True
' Selection.TypeText(Text:=lsnaWork("composer_name"))
' Selection.Font.Italic = False
' Selection.Font.Bold = False
' WriteLineBreak(objOutputFile)
' lstrLastComposerName = lsnaWork("composer_name")
' End If
' Selection.Font.Italic = True
' Selection.Font.Bold = False
' Selection.TypeText(Text:=lsnaWork("book_info_book_title") & " ")
' If Trim$(("" & lsnaWork("book_info_composer_name"))) = "" Then
' Selection.Font.Italic = False
' Selection.Font.Bold = False
' Selection.TypeText(Text:="(Collection) ")
' Else
' Selection.Font.Italic = False
' Selection.Font.Bold = False
' Selection.TypeText(Text:=lsnaWork("book_info_composer_name") & " ")
' End If
' Selection.Font.Italic = False
' Selection.Font.Bold = False
' Selection.TypeText(Text:="""" & lsnaWork("work_name"))
' If Trim$("" & lsnaWork("opus_info")) <> "" Then
' Selection.TypeText(Text:=" - " & Trim$(lsnaWork("opus_info")))
' End If
' Selection.TypeText(Text:="""" & " ")
' If Not IsNull(lsnaWork("page_number")) Then
' If lsnaWork("page_number") <> 0 Then
' Selection.Font.Italic = False
' Selection.Font.Bold = False
' Selection.TypeText(Text:="p." & lsnaWork("page_number") & " ")
' End If
' End If
' WriteLineBreak(objOutputFile)
' lsnaWork.MoveNext()
' Loop
' End If
' lsnaWork.Close()
' lsnaWork = Nothing
' ActiveDocument.SaveAs(FileName:=lstrOrganLitWebPath & "worksbycomposer.htm", _
' FileFormat:=wdFormatFilteredHTML, _
' LockComments:=False, Password:="", AddToRecentFiles:=False, _
' WritePassword:="", ReadOnlyRecommended:=False, _
' EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, _
' SaveFormsData:=False, SaveAsAOCELetter:=False)
' ActiveDocument.Close()
' ldbDatabase.Close()
' ldbDatabase = Nothing
' 'Create main index page
' Documents.Add(Template:="Normal", NewTemplate:=False, DocumentType:=1)
' Selection.Font.Name = "Times New Roman"
' Selection.Font.Size = 18
' Selection.Font.Italic = False
' Selection.Font.Bold = True
' Selection.TypeText(Text:="Organ Literature Index")
' WriteParagraphBreak(objOutputFile)
' Selection.Font.Size = 12
' Selection.Font.Italic = False
' Selection.Font.Bold = False
' ActiveDocument.Hyperlinks.Add(Anchor:=Selection.Range, _
' Address:="indexbyhymn.htm", _
' SubAddress:="", _
' ScreenTip:="", _
' TextToDisplay:="Index by Hymn")
' WriteParagraphBreak(objOutputFile)
' Selection.Font.Italic = False
' Selection.Font.Bold = False
' ActiveDocument.Hyperlinks.Add(Anchor:=Selection.Range, _
' Address:="indexbyhymntune.htm", _
' SubAddress:="", _
' ScreenTip:="", _
' TextToDisplay:="Index by Hymn Tune")
' WriteParagraphBreak(objOutputFile)
' Selection.Font.Italic = False
' Selection.Font.Bold = False
' ActiveDocument.Hyperlinks.Add(Anchor:=Selection.Range, _
' Address:="nonhymntuneworks.htm", _
' SubAddress:="", _
' ScreenTip:="", _
' TextToDisplay:="Organ Works Not Based on Hymn Tunes")
' WriteParagraphBreak(objOutputFile)
' Selection.Font.Italic = False
' Selection.Font.Bold = False
' ActiveDocument.Hyperlinks.Add(Anchor:=Selection.Range, _
' Address:="worksbycomposer.htm", _
' SubAddress:="", _
' ScreenTip:="", _
' TextToDisplay:="Organ Works By Composer")
' ActiveDocument.SaveAs(FileName:=lstrOrganLitWebPath & "index.htm", _
' FileFormat:=wdFormatFilteredHTML, _
' LockComments:=False, Password:="", AddToRecentFiles:=False, _
' WritePassword:="", ReadOnlyRecommended:=False, _
' EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, _
' SaveFormsData:=False, SaveAsAOCELetter:=False)
' ActiveDocument.Close()
' MessageBox.Show("Pages have been created")
'End Sub
'Private Sub GetPageNumberAndBookmarkForTune(ByVal lguidInputTuneNameId As Guid, ByVal lcolWebHymnTuneBookmarkCollection As Hashtable, ByRef llngPageNumber As Long, ByRef lstrBookmark As String)
' llngPageNumber = 0
' lstrBookmark = ""
' If lcolWebHymnTuneBookmarkCollection.ContainsKey(lguidInputTuneNameId) Then
' Dim objWebHymnTuneBookmark As clsWebHymnTuneBookmark = CType(lcolWebHymnTuneBookmarkCollection.Item(lguidInputTuneNameId), clsWebHymnTuneBookmark)
' llngPageNumber = objWebHymnTuneBookmark.HymnTunePage
' lstrBookmark = objWebHymnTuneBookmark.HymnTuneBookmark
' End If
'End Sub
'Private Sub WriteAsNormalText(ByRef objOutputFile As StreamWriter, ByVal strText As String)
' objOutputFile.Write(strText)
'End Sub
'Private Sub WriteAsItalicText(ByRef objOutputFile As StreamWriter, ByVal strText As String)
' objOutputFile.Write("<i>")
' objOutputFile.Write(strText)
' objOutputFile.Write("</i>")
'End Sub
'Private Sub WriteAsBoldText(ByRef objOutputFile As StreamWriter, ByVal strText As String)
' objOutputFile.Write("<b>")
' objOutputFile.Write(strText)
' objOutputFile.Write("</b>")
'End Sub
'Private Sub WriteAsBoldItalicText(ByRef objOutputFile As StreamWriter, ByVal strText As String)
' objOutputFile.Write("<b><i>")
' objOutputFile.Write(strText)
' objOutputFile.Write("</i></b>")
'End Sub
'Private Sub WriteAsHeadingText(ByRef objOutputFile As StreamWriter, ByVal strText As String)
' objOutputFile.Write("<h1>")
' objOutputFile.Write(strText)
' objOutputFile.Write("</h1>")
'End Sub
'Private Sub WriteLineBreak(ByRef objOutputFile As StreamWriter)
' objOutputFile.Write("<p/>")
'End Sub
'Private Sub WriteParagraphBreak(ByRef objOutputFile As StreamWriter)
' objOutputFile.Write("<p/>")
'End Sub
'Private Sub WriteWebPageStart(ByRef objOutputFile As StreamWriter)
' 'objOutputFile.Write("")
'End Sub
'Private Sub WriteBookmarkTarget(ByRef objOutputFile As StreamWriter, ByVal strBookmarkName As String)
' objOutputFile.Write("Do bookmark stuff here")
' objOutputFile.Write(strBookmarkName)
'End Sub
End Module