// Пример от Jaap Vduul // Пример чтения таблицы из OpenOffice: // ===================================== ServiceManager = СоздатьОбъект("com.sun.star.ServiceManager"); Desktop = ServiceManager.createInstance("com.sun.star.frame.Desktop"); script = СоздатьОбъект("ScriptControl"); script.Language = "vbs"; script.AddCode ( "Dim Parameters() | |Sub InitParameters(Size) | | Erase Parameters | | If Size > 0 Then | Redim Parameters(Size - 1) | End If | |End Sub | |Sub SetParameter(ServiceManager, Name, Value, Index) | | Set PropertyValue = ServiceManager.Bridge_GetStruct(""com.sun.star.beans.PropertyValue"") | PropertyValue.Name = Name | PropertyValue.Value = Value | | Set Parameters(Index) = PropertyValue | |End Sub | |Sub SetBooleanParameter(ServiceManager, Name, Value, Index) | | SetParameter ServiceManager, Name, Cbool(Value), Index | |End Sub | |Function LoadDocument(ComponentLoader, URL, TargetFrameName, SearchFlags) | | Set LoadDocument = ComponentLoader.loadComponentFromURL(URL, TargetFrameName, SearchFlags, Parameters) | |End Function | |Sub CloseDocument(Document) | | Document.Close True | |End Sub" ); script.Run("InitParameters", 2); script.Run("SetBooleanParameter", ServiceManager, "ReadOnly", 1, 0); script.Run("SetBooleanParameter", ServiceManager, "Hidden", 1, 1); URL = ПреобразоватьВURL(КаталогПриказов + НомерПриказа + ".rtf"); Документ = script.Run("LoadDocument", Desktop, URL, "_blank", 0); Таблица = Документ.TextTables.getByIndex(0); // ссылка на первую таблицу ВсегоСтрок = Таблица.getRows().getCount(); ВсегоСтолбцов = Таблица.getColumns().getCount(); Для ИндексСтроки = 1 По (ВсегоСтрок - 1) Цикл // ИндексСтроки = 1, т.к. пропускаем заголовок Для ИндексСтолбца = 0 По (ВсегоСтолбцов - 1) Цикл Ячейка = Таблица.getCellByPosition(ИндексСтолбца, ИндексСтроки); ТекстЯчейки = Ячейка.getString(); КонецЦикла; КонецЦикла; script.Run("CloseDocument", Документ);