I am trying to output some fields from a form to a word template (both are from Office 2007). The problem I am getting is that I click the button and Access freezes. It doesn't crash, but you can't do anything. I am using the code I got from the related question.
My version is posted below.
Private Sub btnCreateLetter_Click()
Set strfrom = Me.OrderPickUp
Set strto = Me.OrderDestination
Set strdate = Me.OrderDate
Set strtype = Me.WCCType
Set strcosttpe = Me.WCCCostType
Set strboxes = Me.WBox
Set strcostboxes = Me.WCostBox
Set strtotalex = Me.WTotalEx
Set strtotalgst = Me.WTotalGST
Set Strtotalincl = Me.WTotalInc
Set wApp = CreateObject("Word.Applica
tion")
Set wDoc = wApp.Documents.Add(Templat
e:="C:\Use
rs\Robert\
Desktop\wc
chup.dotx"
)
For Each wSec In wDoc.Sections
For Each wPara In wSec.Range.Paragraphs
Select Case True
Case InStr(1, wPara.Range.Text, "{from}") > 0
wPara.Range.Text = Replace(wPara.Range.Text, "{from}", strfrom)
Case InStr(1, wPara.Range.Text, "{to}") > 0
wPara.Range.Text = Replace(wPara.Range.Text, "{to}", strto)
Case InStr(1, wPara.Range.Text, "{date}") > 0
wPara.Range.Text = Replace(wPara.Range.Text, "{date}", strdate)
Case InStr(1, wPara.Range.Text, "{time}") > 0
wPara.Range.Text = Replace(wPara.Range.Text, "{time}", strtime)
Case InStr(1, wPara.Range.Text, "{type}") > 0
wPara.Range.Text = Replace(wPara.Range.Text, "{tyoe}", strtype)
Case InStr(1, wPara.Range.Text, "{costtype}") > 0
wPara.Range.Text = Replace(wPara.Range.Text, "{costtype}", strcosttype)
Case InStr(1, wPara.Range.Text, "{boxes}") > 0
wPara.Range.Text = Replace(wPara.Range.Text, "{boxes}", strboxes)
Case InStr(1, wPara.Range.Text, "{costboxes}") > 0
wPara.Range.Text = Replace(wPara.Range.Text, "{costboxes}", strcostboxes)
Case InStr(1, wPara.Range.Text, "{totalex}") > 0
wPara.Range.Text = Replace(wPara.Range.Text, "{totalex}", strtotalex)
Case InStr(1, wPara.Range.Text, "{totalgst}") > 0
wPara.Range.Text = Replace(wPara.Range.Text, "{totalgst}", strtotalgst)
Case InStr(1, wPara.Range.Text, "{totalincl}") > 0
wPara.Range.Text = Replace(wPara.Range.Text, "{totalincl}", Strtotalincl)
End Select
Next
Next
wApp.Visible = True
End Sub