OpenOffice.org is a invaluable tool to everyone in today's office environment, consisting of:
All of this means that it is very easy for anyone to build a complex application, carrying out all of the business operations required in day to day life. Unfortunately, these applications soon become very complicated and difficult for a new user to understand. Fortunately, it is also very easy to make life much simpler by:
OpenOffice's built-in Dialogs are very simple, and are designed to enable the application to supply information to the user, or to obtain limited information from them. The two types are:
The message box is a simple way of outputting information to a user, and allowing them some simple responses; for example this macro has a little conversation with the user:
Sub Main
Dim ip as Integer
mf = msgbox ( "Are you male?", 4, "Application Question")
select case mf
case 6
msgbox "You've said that you're male", 0, "Application Confirmation"
case 7
msgbox "You've said that you're female", 0, "Application Confirmation"
end select
End Sub
This macro uses the message box in two ways:
In each case the variables required by the message box are the same:
The input box is as easy to use as the message box - however, this time the user response is always saved into a variable, for example:
username = InputBox ("Please enter your name","Application Information")
The input box just needs two inputs:
With just these two OpenOffice Basic methods it is possible to greatly simplify the process of entering data into an OpenOffice document:
Sub Main
Dim ip as Integer
Dim oCell
'Get user name
oCell = thisComponent.Sheets(0).getCellRangeByName("B1")
oCell.String = "Name:"
oCell = thisComponent.Sheets(0).getCellRangeByName("B1")
oCell.String = InputBox ("Please enter your name","Application Information")
'Is user male or female?
oCell = thisComponent.Sheets(0).getCellRangeByName("A7")
oCell.String = "M/F"
oCell = thisComponent.Sheets(0).getCellRangeByName("B7")
mf = msgbox ( "Are you male?", 4, "Application Question")
select case mf
case 6
oCell.String = "Male"
case 7
oCell.String = "Female"
end select
'Get user age
oCell = thisComponent.Sheets(0).getCellRangeByName("C7")
oCell.String = "Age:"
oCell = thisComponent.Sheets(0).getCellRangeByName("D7")
oCell.Value = InputBox ("Please enter your age","Application Information")
End Sub
By introducing the message boxes and input boxes a user does not need to know anything about the structure of the document, or what information is needed - all they have to do is to answer the questions posed to them by the macro.