OK, I figured it out. The solution? Don't use SetFocus at all! I have no idea why SetFocus fails so miserably at its only intended function, but there it is. Final code follows:
Code:
'///////////////////////////////////////////////////////////////////////////////////
'////////////This function inserts the form data into the table/////////////////////
'///////////////////////////////////////////////////////////////////////////////////
Private Sub OKButton_Click()
Dim oTbl As Word.Table
Dim oRow As Row
Dim oRng As Word.Range
Dim oCtr As InlineShape
Dim dRTF As Word.Documents
'Declare variables
Select Case True
Case DescriptionBox = vbNullString
'Check for empty description box
MsgBox "You must enter a description"
Case PriorityCombo = vbNullString
'Check for empty priority box
MsgBox "You must select the priority."
Case Else
'Input is good, add to table
Set oTbl = ActiveDocument.Tables(1)
Set oRow = oTbl.Rows.Add
'Add new row for data
DescriptionBox.SaveFile ("Temp.rtf")
Documents.Open FileName:="\\Server\EMPNum$\G\Temp.rtf", _
ConfirmConversions:=False, ReadOnly:=False, AddToRecentFiles:=False, _
PasswordDocument:="", PasswordTemplate:="", Revert:=False, _
WritePasswordDocument:="", WritePasswordTemplate:="", Format:= _
wdOpenFormatAuto, XMLTransform:=""
Selection.WholeStory
Selection.Copy
oRow.Cells(1).Range.PasteAndFormat (wdPasteDefault)
oRow.Cells(2).Range.Text = PriorityCombo.Text
Set oCtr = oRow.Range.Cells(3).Range.InlineShapes.AddOLEControl(ClassType:="Forms.CheckBox.1")
oCtr.OLEFormat.Object.Caption = ""
oCtr.OLEFormat.Object.Width = 14
'Populate columns
Unload Me
'Unload form
Windows("Temp.rtf [Compatibility Mode]").Close
DeleteFile ("Temp.rtf")
End Select
End Sub
'//////////////////END//////////////////////////////////////////////////////////////
'///////////////////////////////////////////////////////////////////////////////////
'////////////////////Programmed by: John P. Brunetta////////////////////////////////
'///////////////////////Position: Summer Student////////////////////////////////////
'/////////////This function unloads the user form, frmNewItem///////////////////////
'///////////////////////////////////////////////////////////////////////////////////
Private Sub CancelButton_Click()
Unload Me
'Unload form
End Sub
'//////////////////END//////////////////////////////////////////////////////////////
'///////////////////////////////////////////////////////////////////////////////////
'//////////This function initializes the contents of the Priority combobox//////////
'///////////////////////////////////////////////////////////////////////////////////
Private Sub UserForm_Initialize()
PriorityCombo.Clear
PriorityCombo.AddItem "SMT"
PriorityCombo.AddItem "Monthly"
PriorityCombo.AddItem "Newsletter"
DescriptionBox.SelBullet = True
End Sub
'//////////////////END//////////////////////////////////////////////////////////////
'///////////////////////////////////////////////////////////////////////////////////
'/////////This function checks if a file with the name passed exists////////////////
'///////////////////////////////////////////////////////////////////////////////////
Function FileExists(ByVal FileToTest As String) As Boolean
FileExists = (Dir(FileToTest) <> "")
End Function
'//////////////////END//////////////////////////////////////////////////////////////
'///////////////////////////////////////////////////////////////////////////////////
'///////////////This function deletes a file if it exists///////////////////////////
'///////////////////////////////////////////////////////////////////////////////////
Sub DeleteFile(ByVal FileToDelete As String)
If FileExists(FileToDelete) Then 'See above
SetAttr FileToDelete, vbNormal
Kill FileToDelete
End If
End Sub
'//////////////////END//////////////////////////////////////////////////////////////
Special Thanks to Cosmo and NP for your help!