HOWTO: Scroll an Embedded Word 6 Document in VB OLE
ID: Q147804
|
The information in this article applies to:
-
Microsoft Word 2000
-
Microsoft Visual Basic Learning, Professional, and Enterprise Editions for Windows, versions 5.0, 6.0
-
Microsoft Visual Basic Standard, Professional, and Enterprise Editions for Windows, version 4.0
-
Microsoft Word 97 for Windows
SUMMARY
The versions of Microsoft Word listed at the beginning of this article do
not supply scroll bars that allow an activated document embedded in the
Visual Basic OLE container control to be scrolled through. This article
describes how to provide buttons that allow the user to scroll through an
embedded Word document that has been activated for visual editing.
To scroll through the window, you must call a Word Basic method such as
VLine. However, if you call the method from within a scroll-bar event, the
code does not work. The problem is that when the scroll bar receives the
focus, the Word document object in the OLE control is deactivated. If you
try to activate the Word Document object in the scroll-bar event, the
insertion point moves to the beginning of the document, causing you to lose
the current position in the document. This problem happens with any control
that can receive the focus.
MORE INFORMATION
To work around the problem, use a control that cannot receive the focus
(for example, the image-control or the spin button). You can use the image
control to simulate a button. When you click it, the focus remains on the
OLE container control, and therefore the Word document object stays
activated. This allows you to call a Word Basic method such as VLine to
allow you to scroll through the window in the click event of the image
control.
Example
- Start Visual Basic; Form1 is created by default.
- Add an OLE container control to Form1 (Ole1 is the default name for the
control).
- The insert object dialog box should appear after you draw the OLE
container control on the form. Choose Create from the File option, and
choose an existing Word .DOC file that is more than a page in length.
The "Link" and "Display As Icon" check boxes should not be selected.
Choose the OK button when you are done; the document should now be
embedded in the OLE container control.
- Add a spin button to Form1 (SpinButton1 is the default name of the
control).
- Place the following code in the spin-down event:
Sub SpinButton1_SpinDown ()
If Ole1.AppIsRunning Then
Ole1.Object.Application.WordBasic.VLine 1
Else
Ole1.Action = 7 'Activate
End If
End Sub
- Place the following code in the spin-up event:
Sub SpinButton1_SpinUp ()
If Ole1.AppIsRunning Then
Ole1.Object.Application.WordBasic.VLine -1
Else
Ole1.Action = 7 'Activate
End If
End Sub
- Save the project.
- Run the application.
- Double-click the OLE control to activate the Word .DOC object for visual
editing.
- Press the spin button to scroll up and down the document.
Notes
- You can speed up the scrolling by changing the delay property on the
spin button. You can also change the number of lines that the VLine
method scrolls through.
- Some other controls that do not receive the focus are the shape, line,
frame, 3D frame, 3D panel, and label controls.
Additional query words:
Keywords : kbinterop kbAutomation kbVBp kbVBp400 kbVBp500 kbVBp600 kbDSupport
Version : WINDOWS:2000,4.0,5.0,6.0,97
Platform : WINDOWS
Issue type : kbhowto
|