Откройте электронную таблицу OpenOffice из макроса Writer - PullRequest
2 голосов
/ 09 ноября 2010

Я новичок в OpenOffice и пытаюсь перенести макрос MS Office на OpenOffice Basic. Мне нужно иметь возможность открыть электронную таблицу Calc из Writer, чтобы я мог вывести ее содержимое в массив в моем макросе Writer. Документация OpenOffice очень сложная. Спасибо!

1 Ответ

2 голосов
/ 12 ноября 2010
Dim oSM 
Dim oDesk 

'Instantiate OOo
Set oSM = CreateObject("com.sun.star.ServiceManager")
'Create the services
Set oDesk = oSM.createInstance("com.sun.star.frame.Desktop")
Set oCalc = oSM.createInstance("com.sun.star.sheet.SpreadsheetDocument")

Dim strVar(4) As String
Dim iRow As Integer
Dim iColumn As Integer
Dim strEnd As String
Dim Cell as object
Dim CalcDoc
CalcDoc = oDesk.loadComponentFromURL("file:///c:/<path>", "_blank", 0, Array())
Dim Sheet
Sheet = CalcDoc.Sheets.getByName("Sheet1")

iRow = 0
Do While strEnd <> "end"
    For iColumn = 0 To 4
     Cell = Sheet.getCellByPosition(iColumn, iRow)
     strValue = Cell.String
        strVar(iColumn) = strValue
    Next
 'first cell contains "end" at end of spreadsheet
 strEnd = Sheet.getCellByPosition(0, iRow).String
 'Do something HERE with strValue row values, like use them in a search
 iRow = iRow + 1
Loop
...