【问题标题】:Open an OpenOffice Spreadsheet from a Writer Macro从 Writer 宏打开 OpenOffice 电子表格
【发布时间】:2024-01-21 16:44:01
【问题描述】:

我是 OpenOffice 的新手,我正在尝试将 MS Office 宏移植到 OpenOffice Basic。我需要能够从 Writer 中打开 Calc 电子表格,以便将其内容转储到 Writer 宏中的数组中。 OpenOffice 文档很难运行。谢谢!

【问题讨论】:

    标签: macros openoffice.org openoffice-basic


    【解决方案1】:
    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
    

    【讨论】:

    • 希望这对某人有所帮助。我猜 OpenOffice Basic 没那么流行。