WD2000: Run-time Error 1042 with WordBasic PageWidth/PageHeight Arguments (209899)
The information in this article applies to:
This article was previously published under Q209899 SYMPTOMS
When you run a WordBasic macro that has been converted to Visual Basic for Applications, the following error message may appear:
Run-time error '1042':
Settings you chose for the left and right margins, column spacing, or paragraph indents are too large for the page in some sections.
Clicking the Debug button opens the Visual Basic Editor, and a command line similar to the following command line may be highlighted:
WordBasic.FilePageSetup PageWidth:=504, PageHeight:=504
CAUSE
This behavior is by design. In versions of Word earlier than Word 97, WordBasic uses points for the PageWidth and PageHeight arguments. Because Word 2000 uses twips for these arguments, the value specified may be too small.
The smallest possible page width in Word is 0.5", and the smallest possible page height can be any value above zero if all page margins and paragraph indents are set to zero and column spacing is set to .5".
Because the value of .5" equates to 720 twips (.5 * 1440(twips per inch)), the smallest value that can be used with the PageWidth argument of the WordBasic.FilePageSetUp command is 720. A smaller value results in the error described in the "Symptoms" section of this article. Note that this is dependent on other settings, such as margin, column spacing, and paragraph settings, in which case the error can occur at greater values.
RESOLUTIONMicrosoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements.
To resolve this issue, change the value of the PageWidth argument or the PageHeight argument or both.
You can use the following formula to obtain the replacement value:
For example:
Sub PageSetup()
Dim intPW As Integer
Dim intPH As Integer
' Convert Points to Twips.
intPW = 504 * 20
intPH = 504 * 20
WordBasic.FilePageSetup PageWidth:=intPW, PageHeight:=intPH
End Sub
Alternatively, you can specify a value in inches and convert to twips:
Sub PageSetup()
Dim intPW As Integer
Dim intPH As Integer
' Convert Inches(7 inches) to Twips.
intPW = InchesToPoints(7) * 20
intPH = InchesToPoints(7) * 20
WordBasic.FilePageSetup PageWidth:=intPW, PageHeight:=intPH
End Sub
Modification Type: | Major | Last Reviewed: | 6/17/2005 |
---|
Keywords: | kbnofix kbprb KB209899 |
---|
|