PRB: WordBasic's CHR$ Function Produces Error in Visual FoxPro

ID: Q156939


The information in this article applies to:
  • Microsoft Visual FoxPro for Windows, versions 3.0, 3.0b, 5.0, 6.0


SYMPTOMS

Visual FoxPro produces one of the following three errors when using the CHR$(11) function to place a newline character in a Microsoft Word 7.0a for Windows 95 document:

OLE IDispatch exception code 5004 from Microsoft Word. Too many or too few arguments.
-or-
OLE error code 0x80002006 Unknown name.
-or-
Syntax Error.
The error varies depending upon the version of Visual FoxPro being run. However, these commands function properly in Visual Basic 4.0.


CAUSE

The dollar sign ($) character is an operator in Visual FoxPro. Therefore, FoxPro expects the dollar sign character to carry out Xbase functionality and not a WordBasic function.


WORKAROUND

Use FoxPro's CHR() function to insert the value into WordBasic. For example, replace one of the following lines:


   X.Insert(X.CHR$(11)) 
-or-

   X.Insert(X.Object.CHR$(11)) 
with the following line:

   X.Insert(CHR(11)) 


STATUS

This behavior is by design.


MORE INFORMATION

The WordBasic function Chr$(11) should place a newline character in a Word 95 document. However, when FoxPro sees the dollar sign character, it looks for the two arguments normally required for this function. Usually, Visual FoxPro interprets a dollar sign character to mean search for a value within a string or field. Visual FoxPro does not recognize the Word 95 usage of this character.

Steps to Reproduce Behavior

  1. Create a program containing the following code:
    
          PUBLIC x
          X=CreateObject("Word.Basic")
          X.FileNew
          X.AppShow
          X.Insert("This is line 1")
          X.Insert(X.CHR$(11))   && <---Or X.Insert(X.Object.CHR$(11))
          X.Insert("This is line 2") 


  2. Run the program. The error appears.


  3. Replace the X.Insert(X.CHR$(11)) or X.Insert(X.Object.CHR$(11)) line with X.Insert(CHR(11)). The code now creates a Word document containing two lines of text.


Additional query words: kbdsd VFoxWin

Keywords : kbVFp300 kbVFp500 kbVFp600 FxinteropOle FxinteropWinword
Version : WINDOWS:3.0,3.0b,5.0,6.0
Platform : WINDOWS
Issue type :


Last Reviewed: December 13, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.