Editing an existing Bible text in Microsoft Word

In Microsoft Word, I wish to change 100's of words in order to create my own Bible version.

So I decided all the unique words I'd like to change and I created an excel file containing 2 columns:
Column A. The words to be removed.
Column B. The new words to be inserted.

Here's what my work looks like:

Column A  Column B

God          Elohim
heaven      shamayim
earth         aretz
waters       mayim
good         tov

Besides making all the changes, I wish to put footnotes at the bottom of every page, accounting for all such changes.

For example:
The word "Elohim" now replaces the word "God".
So I would like to have it underlined like this: In the beginning Elohim created the heavens and the earth.
And then have a footnote at the bottom of the page, showing that the original word was "God".
(Note: I only want underlined the first occurrence of the word "Elohim" in each page, and I don't want the little footnote number 1 beside it).

Here's a picture of my desired "before and after":

Questions:

Is there any other way to do this besides Find/Replace each word?
Because the whole issue is, I want to account for all the changes as footnotes *once per page) and also as a glossary in the back of the book.

How can I change the first occurrence of the word "God" into the new word "Elohim", then create the appropriate footnote, and then have MS Word do the same for every occurrence thereafter, as well as put that same footnote on every page (only once per page) only where it's needed?

Should I try doing all this by creating first a concordance file? And then, is there some way of creating automatic bookmarks? cross-references? footnotes? .. so I can also render my glossary as an Index in the back of the book?

Or is it there a way with macros to make all my changes and footnotes?
And then for the glossary, is there a way to gather all the footnotes and list them alphabetically in the back of the book?

Thanks!
Alex
Creating footnotes for the first occurrence of each of the words in the list is fairly straightforward, but doing the same for each page may not be possible because as you add the footnotes, the page lengths change and thus what is the first reference on the page will change. I can't think of a simple way to do this.

If you want to create a footnote for each first occurrence then  you can use the following function to turn your worksheet data to an array. Add the function (and the macro which follows) to a new module. Change the bold text to reflect your worksheet. http://www.gmayor.com/installing_macro.htm   

Option Explicit
Private RS As Object
Private CN As Object
Private i As Long, iRows As Long
Private iFN As Long
Private Arr() As Variant
Private sFindText As String
Private sReplaceText As String
Private oRng As Range
Private oFN As Footnote
Private iPage As Long
 Const strWorkbook As String = "C:\Path\WordList.xlsx"        'The path of the workbook
Const strSheet As String = "Sheet1"        'The name of the worksheet

Public Function xlFillArray(strWorkbook As String, _
                            strWorksheetName As String) As Variant
    strWorksheetName = strWorksheetName & "$]"
    Set CN = CreateObject("ADODB.Connection")
    CN.Open ConnectionString:="Provider=Microsoft.ACE.OLEDB.12.0;" & _
                              "Data Source=" & strWorkbook & ";" & _
                              "Extended Properties=""Excel 12.0 Xml;HDR=YES"";"

    Set RS = CreateObject("ADODB.Recordset")
    RS.Open "SELECT * FROM [" & strWorksheetName, CN, 2, 1

    With RS
        .MoveLast
        iRows = .RecordCount
        .MoveFirst
    End With
    Arr = RS.GetRows(iRows)
    If RS.State = 1 Then RS.Close
    Set RS = Nothing
    If CN.State = 1 Then CN.Close
    Set CN = Nothing
End Function

Then the following macro will use that array to replace the words and create the footnotes.


Sub ReplaceFromArray()
    xlFillArray strWorkbook, strSheet
    For i = 0 To UBound(Arr, 2)
        iFN = 0
        sFindText = Arr(0, i)
        sReplaceText = Arr(1, i)
        Set oRng = ActiveDocument.Range
        With oRng.Find
            .ClearFormatting
            .Replacement.ClearFormatting
            Do While .Execute(FindText:=sFindText, _
                              MatchWholeWord:=True, _
                              Forward:=True, _
                              Wrap:=wdFindStop) = True
                oRng.Text = sReplaceText
                iFN = iFN + 1
                If iFN = 1 Then
                    With oRng
                        With .FootnoteOptions
                            .Location = wdBottomOfPage
                            .NumberingRule = wdRestartContinuous
                            .StartingNumber = 1
                            .NumberStyle = wdNoteNumberStyleArabic
                        End With
                        .Footnotes.Add Range:=oRng, Reference:="", Text:=sFindText
                        oRng.Font.Underline = wdUnderlineSingle
                    End With
                End If
                oRng.Collapse wdCollapseEnd
                DoEvents
            Loop
        End With
    Next
    MakeGlossary
End Sub

The following macro called by the previous macro will list all the footnotes on a new page at the end of the document with the pages they occur on. You can format that last page as you wish.

Sub MakeGlossary()
   Set oRng = ActiveDocument.Range
    oRng.Start = oRng.End
    oRng.InsertBreak wdPageBreak
   
    For Each oFN In ActiveDocument.Footnotes
        iPage = oFN.Range.Information(wdActiveEndPageNumber)
        ActiveDocument.Range.InsertAfter vbCr & oFN.Index & vbTab & _
        oFN.Range.Text & vbTab & "Page " & iPage
    Next oFN
End Sub

Graham Mayor (Microsoft Word MVP 2002-2019)
For more Word tips and downloads visit my web site
https://www.gmayor.com/Word_pages.htm

Was this reply helpful?

Sorry this didn't help.

Great! Thanks for your feedback.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this reply?

Thanks for your feedback.

If Graham's macro doesn't cover everything you need, take a look at this online book. He has macros to do a lot of UNIQUE editing tasks.

Macros for Writers, Editors and Proofreaders

by Paul Beverley, LCGI

http://www.archivepub.co.uk/book.html


You do want to use the footnote feature to mark your "translations" so they stay on the correct page. If you create manual pseudo-footnotes, then it will be a PITA to maintain.
.
*****
.
As computer scientists we are trained to communicate with the dumbest things in the world – computers –
so you’d think we’d be able to communicate quite well with people.
Prof. Doug Fisher

1 person found this reply helpful

·

Was this reply helpful?

Sorry this didn't help.

Great! Thanks for your feedback.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this reply?

Thanks for your feedback.

 
 

Question Info


Last updated November 18, 2024 Views 1,145 Applies to: