Difference between revisions of "Documentation/OOoAuthors User Manual/Getting Started/Writing macros without the recorder"

From Apache OpenOffice Wiki
Jump to: navigation, search
 
(Clean up TOC and category references)
Line 1: Line 1:
{{GSMacroTOC|PrevNext=block
+
{{Documentation/GSMacroTOC
|Prev=Documentation/OOoAuthors_User_Manual/Getting Started/Extensions
+
|ShowPrevNext=block
|Next=Documentation/OOoAuthors_User_Manual/Getting Started/Finding more information}}
+
|PrevPage=Documentation/OOoAuthors User Manual/Getting Started/Extensions
__notoc__
+
|NextPage=Documentation/OOoAuthors User Manual/Getting Started/Finding more information
 
+
}}
 
=Writing macros without the recorder=
 
=Writing macros without the recorder=
  
Line 40: Line 40:
  
 
{{Manual}}
 
{{Manual}}
 +
[[Category:Getting Started (Documentation)]]

Revision as of 14:46, 7 November 2007


Writing macros without the recorder

The examples covered in this chapter are created using the macro recorder and the dispatcher. You can also write macros that directly access the objects that comprise OpenOffice.org. In other words, you can directly manipulate a document.

Directly manipulating OOo's internal objects is an advanced topic that is beyond the scope of this chapter. A simple example, however, demonstrates how this works.

Listing 4: Append the text “Hello" to the current document.

 Sub AppendHello
   Dim oDoc
   Dim sTextService$
   Dim oCurs
   
   REM ThisComponent refers to the currently active document.
   oDoc = ThisComponent
 
   REM Verify that this is a text document  
   sTextService = "com.sun.star.text.TextDocument"
   If NOT oDoc.supportsService(sTextService) Then
     MsgBox "This macro only works with a text document"
     Exit Sub
   End If
 
   REM Get the view cursor from the current controller.
   oCurs = oDoc.currentController.getViewCursor()
 
   REM Move the cursor to the end of the document
   oCurs.gotoEnd(False)
 
   REM Insert text "Hello" at the end of the document
   oCurs.Text.insertString(oCurs, "Hello", False)  
 End Sub

Content on this page is licensed under the Creative Common Attribution 3.0 license (CC-BY).
Personal tools