Для 8.х заменить СоздатьОбъект( на Новый COMОбъект(
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
// Пример от 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", Документ); |