Hi,
So this is my code, after some translation

.Sorry, I don't know who to paste it properly, so I'll just quote it:
"
Sub FillWord_BM(wdApp As Word.Application, _
wdDoc As Word.Document, _
strBM As String, _
strText As String)
Dim r As Word.Range
Set r = wdDoc.Bookmarks(strBM).Range
r.Text = strText
wdDoc.Bookmarks.Add strBM, r
End Sub
Private Sub chkChild_Click()
If chkChild = True Then frmParents.Enabled = True
If chkChild = False Then frmParents.Enabled = False
If frmParents.Enabled = True Then
txtMothersDocNo.BackColor = &H80000005
txtFathersDocNo.BackColor = &H80000005
Else
txtMothersDocNo.BackColor = &H80000011
txtFathersDocNo.BackColor = &H80000011
End If
End Sub
Private Sub cmdSave_Click()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("Data")
iRow = ws.Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).Row
ws.Cells(iRow, 1).Value = Me.txtPerCode.Value
ws.Cells(iRow, 2).Value = Me.txtName.Value
ws.Cells(iRow, 3).Value = Me.txtSurname.Value
ws.Cells(iRow, 4).Value = Me.txtDocNo.Value
ws.Cells(iRow, 5).Value = Me.txtPhoneEmail.Value
ws.Cells(iRow, 6).Value = Me.txtAddress.Value
Me.chkPhoto = False
Me.chkSignature = False
Me.chkFingerprints = False
Me.chk13.Value = False
Me.chk59.Value = False
Me.txtPerCode.Value = ""
Me.txtName.Value = ""
Me.txtSurname.Value = ""
Me.txtDocNo = ""
Me.txtPhoneEmail = ""
Me.txtAddress = ""
Me.txtRegNo = ""
End Sub
Private Sub txtPerCode_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Len(txtPerCode) <> 11 Then
txtPerCode.BackColor = &HFF&
Cancel = True
MsgBox "11 digits please"
Else
txtPerCode.BackColor = &H80000005
End If
End Sub
Private Sub txtPerCode_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If (KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = vbKeyBack Then
Exit Sub
Else
KeyAscii = 0
Beep
End If
End Sub
Private Sub txtDocNo_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Len(txtDocNo) <> 8 Then
txtDocNo.BackColor = &HFF&
Cancel = True
MsgBox "Must be 8 characters"
Else
txtPerCode.BackColor = &H80000005
End If
End Sub
Private Sub UserForm_Initialize()
With cboTypedBy
.AddItem " "
.AddItem "J. Smith"
.AddItem "B. Lee"
.AddItem "S. Stallone"
End With
With cboSigned
.AddItem "G. Bush"
.AddItem "B. Obama"
End With
Dim myDate As String
myDate = Format(Date, "yyyy-mm-dd")
lblDate = myDate
lblTime.Caption = Time
frmParents.Enabled = False
txtMothersDocNo.BackColor = &H80000011
txtFathersDocNo.BackColor = &H80000011
End Sub
Private Sub cmdLetter_Click()
Dim wdApp As Object
Dim wdDoc As Object
Set wdApp = CreateObject("Word.application")
Set wdDoc = wdApp.Documents.Open _
(Filename:="C:\Documents and Settings\geradz\Desktop\Projektas\Letter1.dot")
Dim strBiometrics As String
If chkFingerprints = True And chkSignature = False Then strBiometrics = "fingerprints"
If chkSignature = True And chkFingerprints = False Then strBiometrics = "signature"
If chkFingerprints = True And chkSignature = True Then strBiometrics = "fingerprints, signature"
If chkPhoto = True And chkFingerprints = False And chkSignature = False Then strBiometrics = "photo"
If chkPhoto = True And chkFingerprints = True And chkSignature = False Then strBiometrics = "photo, fingerprints"
If chkPhoto = True And chkFingerprints = False And chkSignature = True Then strBiometrics = "photo, signature"
If chkPhoto = True And chkFingerprints = True And chkSignature = True Then strBiometrics = "photo, fingerprints, signature"
Dim strReason As String
Dim strReasonBody As String
If chk59 = True Then strReason = "ON REQUEST"
If chk59 = True Then strReasonBody = "on request"
If chk13 = True Then strReason = "AFTER EXPIRY DATE"
If chk13 = True Then strReasonBody = "after expiry date"
If chk14 = True Then strReason = "LOST"
If chk14 = True Then strReasonBody = "lost"
If chkLostIDC = True Then strReason = "LOST IDC"
If chkLostIDC = True Then strReasonBody = "lostIDC"
Dim strDocument As String
If Left(txtDocNo, 1) = "1" Then strDocument = "IDC"
If Left(txtDocNo, 1) = "2" Then strDocument = "Passport"
If Left(txtDocNo, 1) = "L" Then strDocument = "First passport"
Dim strSigned As String
If cboSigned.Value = "G. Bush" Then
strSigned = "President George Bush"
End If
If cboSigned.Value = "B. Obama" Then
strSigned = "President Barrack Obama"
End If
Dim strTyped As String
If cboTyped.Value = " " Then
strTyped = " " & vbCrLf & " "
End If
If cboTyped.Value = "J. Smith" Then
strTyped = "J. Smith" & vbCrLf & "john.smith@importantcompany.com"
End If
If cboTyped.Value = "B. Lee" Then
strTyped = "B. Lee" & vbCrLf & "bruce.lee@importantcompany.com"
End If
If cboTyped.Value = "S. Stallone" Then
strTyped = "S. Stallone" & vbCrLf & "sylvested.stallone@importantcompany.com"
End If
Dim strSaveAsName As String
strSaveAsName = Left(txtName.Text, 1)
With wdDoc
Call FillWord_BM(wdApp, wdDoc, "Reason", strReason)
Call FillWord_BM(wdApp, wdDoc, "ReasonBody", strReasonBody)
Call FillWord_BM(wdApp, wdDoc, "Name", txtName.Text)
Call FillWord_BM(wdApp, wdDoc, "Surname", txtSurname.Text)
Call FillWord_BM(wdApp, wdDoc, "PerCode", txtPerCode.Text)
Call FillWord_BM(wdApp, wdDoc, "DocNo", txtDocNo.Text)
Call FillWord_BM(wdApp, wdDoc, "RegNo", txtRegNo.Text)
Call FillWord_BM(wdApp, wdDoc, "Document", strDocument)
Call FillWord_BM(wdApp, wdDoc, "Typed", strTyped)
Call FillWord_BM(wdApp, wdDoc, "Signed", strSigned)
Call FillWord_BM(wdApp, wdDoc, "Biometrics", strBiometrics)
Call FillWord_BM(wdApp, wdDoc, "Date", lblDate.Caption)
.SaveAs Filename:="C:\Documents and Settings\geradz\Desktop\Project\" & txtSurname.Text & " " & strSaveAsName & "." & " " & lblDate & ".doc"
.Range.Fields.Update
End With
Set wdDoc = Nothing
Set wdApp = Nothing
End Sub
Private Sub txtSurname_Change()
txtSurname.Text = UCase(txtSurname.Text)
If IsNumeric(Right(txtSurname, 1)) Then
txtSurname.BackColor = &HFF&
MsgBox ("Letters only!!!")
txtSurname = Left(txtSurname, Len(txtSurname) - 1)
Else
txtSurname.BackColor = &H80000005
End If
End Sub
Private Sub txtName_Change()
txtName.Text = UCase(txtName.Text)
If IsNumeric(Right(txtName, 1)) Then
txtName.BackColor = &HFF&
MsgBox ("Letters only!!!")
txtName = Left(txtName, Len(txtName) - 1)
Else
txtName.BackColor = &H80000005
End If
End Sub
Private Sub txtDocNo_Change()
txtDocNo.Text = UCase(txtDocNo.Text)
End Sub"
Sorry if it looks messy, this is only my second attempt at vba.
Regarding my saveas string: the first dot is the dot after the first letter of the name (Surname N.) and the second is to indicate that it's a .doc file type, because without it I get some funny "form" type.
Ok, it's clearer now about the destroying the document object and application instance. However, since I think I have the "Nothing" statements now in the right place, I still don't understand why I'm still getting that error. Also, I've got multiple winword.exe processes running in RAM.
Again, thanks for your help,
sessionone