This "bleed through" as you describe occurs on any box I run the code on. Here is the function I use to check my spelling:
********************
* function CheckSpelling
* taken from:
http://support.microsoft.com/kb/243844FUNCTION WordCheckSpelling(tcSource)
IF EMPTY(tcSource)
RETURN(tcSource)
ENDIF
DECLARE LONG CoAllowSetForegroundWindow IN ole32.DLL OBJECT, LONG
LOCAL loWord, lcTextToCheck, loTempDoc, lnOrigTop, lcCorrected
m.lcTextToCheck = ALLTRIM(tcSource)
m.loWord = CREATEOBJECT('word.application')
CoAllowSetForegroundWindow(m.loWord, 0)
m.loWord.WINDOWSTATE = 0
m.lnOrigTop = loWord.TOP
m.loWord.TOP = -3000
m.loWord.VISIBLE = .T.
m.loTempDoc = loWord.Documents.ADD()
loWord.ACTIVATE()
_CLIPTEXT = lcTextToCheck
WITH loTempDoc
.Content.Paste
.ACTIVATE()
.CheckSpelling()
&& After the user has made changes, use the clipboard to
&& transfer the contents back to the text box
.Content.COPY
lcCorrected = _CLIPTEXT
&& Close the document and exit Word
.Saved = .T.
.CLOSE()
ENDWITH
m.loTempDoc = .NULL.
m.loWord.QUIT()
m.loWord = .NULL.
CLEAR DLLS
RETURN(lcCorrected)
********************
Driving toward a Tactical Edge