Hi,
you can use the whole API via our CLI bridge that means via VB.Net as
well. Everythig you do in the macro can be done from VB.Net directly and
it is possible to disable commands. The SDK contains an example
(examples/DevelopersGuide/OfficeDev/DisableCommands) that show how you
can do it from Java. You can find a description in the DevGuide as well.
Juergen
openjack wrote:
Hi all,
I'm try to explain my problem, just for check if I'm following the better
way to solve it.
My VB .NET procedure opens a document with Writer, but I need to hide some
functions such as Print or SaveAs. I'm able to hide some toolbar buttons
ceating a new ooBasic macro, but I can't do it from VB .NET; for this reason
I need to launch a ooBasic macro from VB .NET
It's the better way or there is another way?
So, I put here a few lines of code.
The following OOBASIC MACRO code is able to hide some tool bar's buttons.
[code]Sub Main
REM *** Initialize strings
sToolbar = "private:resource/toolbar/standardbar"
sCmdId = ".uno:Save"
REM *** Retrieve the desktop service
oDesktop = createUnoService("com.sun.star.frame.Desktop")
REM *** Retrieve the current frame and layout manager
oCurrFrame = oDesktop.getCurrentFrame()
oLayoutManager = oCurrFrame.LayoutManager
REM *** Try to retrieve the toolbar from the layout manager
oToolbar = oLayoutManager.getElement( sToolbar )
REM *** Retrieve settings from toolbar ***
oToolbarSettings = oToolbar.getSettings( true )
index = -1
nCount = oToolbarSettings.getCount()
for i = 0 to nCount-1
oToolbarButton() = oToolbarSettings.getByIndex( i )
nToolbarButtonCount = ubound(oToolbarButton())
for j = 0 to nToolbarButtonCount
if oToolbarButton(j).Name = "CommandURL" then
if oToolbarButton(j).Value = sCmdId then
index = i
end if
endif
next j
next i
if index <> -1 then
REM *** Retrieve current Persistent state
REM *** from property
bPersistent = oToolbar.Persistent
REM *** To make our changes non-persistent
REM *** we have to set the Persistent property
REM *** to false
oToolbar.Persistent = false
REM *** Retrieve button settings
oButtonSettings = oToolbarSettings.getByIndex( index )
REM *** Change the visibility property of the button
for j = 0 to ubound(oButtonSettings())
if oButtonSettings(j).Name = "IsVisible" then
oButtonSettings(j).Value = FALSE
endif
next j
REM *** Replace button settings
oToolbarSettings.replaceByIndex( index, oButtonSettings )
REM *** Set new settings at our toolbar
oToolbar.setSettings( oToolbarSettings )
REM *** Reset Persistent property to old value
oToolbar.Persistent = bPersistent
end if
End Sub
[/code]
Now... this VB .NET code is able to open an Open Office document.
[code]
Dim oSM 'Root object for accessing OpenOffice from
VB
Dim oDesk, oDoc As Object 'First objects from the API
Dim arg() 'Ignore it for the moment !
Dim OpenPar(1) As Object 'a Visual Basic array, with 3 elements
OpenPar(0) = MakePropertyValue("ReadOnly", False)
OpenPar(1) = MakePropertyValue("Password", "secret")
'Instanciate OOo : this line is mandatory with VB for OOo API
oSM = CreateObject("com.sun.star.ServiceManager")
'Create the first and most important service
oDesk = oSM.createInstance("com.sun.star.frame.Desktop")
'Open an existing doc (pay attention to the syntax for first
argument)
oDoc = oDesk.loadComponentFromURL("file:///c:/doc.sxw", "_blank", 0,
OpenPar)
[/code]
How can I merge these two code snippet?
thank u!
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]