Here is one solution (there are probably many ways, some better). This works
well with CLI UNO and MS VB 2005.
Imports System
Imports System.Collections.Generic
Imports System.Windows.Forms
Imports unoidl.com.sun.star.lang
Imports unoidl.com.sun.star.frame
Imports unoidl.com.sun.star.container
Imports unoidl.com.sun.star.sheet
Imports unoidl.com.sun.star.beans
Imports unoidl.com.sun.star.util
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim localContext As unoidl.com.sun.star.uno.XComponentContext =
uno.util.Bootstrap.bootstrap()
Dim multiServiceFactory As XMultiServiceFactory =
DirectCast(localContext.getServiceManager(),
unoidl.com.sun.star.lang.XMultiServiceFactory)
Dim componentLoader As XComponentLoader =
DirectCast(multiServiceFactory.createInstance("com.sun.star.frame.Desktop"),
XComponentLoader)
Dim multiComponentFactory As XMultiComponentFactory
multiComponentFactory =
DirectCast(multiServiceFactory.createInstance("unoidl.com.sun.star.lang"),
XMultiComponentFactory)
Dim xComponent As XComponent =
componentLoader.loadComponentFromURL("private:factory/scalc", "_blank", 0,
New unoidl.com.sun.star.beans.PropertyValue(-1) {})
Dim xNumberFormatter As unoidl.com.sun.star.util.XNumberFormatter
xNumberFormatter =
DirectCast(multiServiceFactory.createInstance("com.sun.star.util.NumberFormatter"),
XNumberFormatter)
Dim xNumberFormatSupplier As XNumberFormatsSupplier
xNumberFormatSupplier =
DirectCast(multiServiceFactory.createInstance("com.sun.star.util.NumberFormatsSupplier"),
XNumberFormatsSupplier)
xNumberFormatter.attachNumberFormatsSupplier(xNumberFormatSupplier)
Dim oDoc As unoidl.com.sun.star.sheet.XSpreadsheetDocument
Dim oSheets As unoidl.com.sun.star.sheet.XSpreadsheets
Dim oSheet As XSpreadsheet
Dim oSheetsIA As XIndexAccess
oDoc = xComponent
oSheets = oDoc.getSheets
oSheetsIA = oSheets
oSheet = oSheetsIA.getByIndex(0).Value
oSheet.getCellByPosition(0,
0).setFormula(xNumberFormatter.convertNumberToString(34, 40035.0)) 'August
oSheet.getCellByPosition(0,
1).setFormula(xNumberFormatter.convertNumberToString(35, 40035.0)) '3rd
quarter 09
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
End
End Sub
End Class
--
View this message in context:
http://www.nabble.com/Cli-Uno-MS-visual-basic-2005---cannot-format-cell-programatically-tp24943858p24977304.html
Sent from the openoffice - dev mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]