powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Акес и ОpenOffice
24 сообщений из 74, страница 3 из 3
Акес и ОpenOffice
    #34687866
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что обозначает эта ошибка

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
---------------------------
Microsoft Access
---------------------------
InterfaceOleWrapper_Impl::Invoke : 
[automation bridge]UnoConversionUtilities<T>::createOleObjectWrapper 
The VARIANT does not contain an object type! 
---------------------------
ОК   
---------------------------

на эту строку

Код: plaintext
oSheet.copyRange oAddress, oRange
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #34692624
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мне удалось добавить/скопировать строки (строки , столбцы нумеруются в openoffice_calc с 0)
Код: plaintext
1.
2.
3.
4.
            .GetRows.insertByIndex 19, 1  - вставляем 1 строку после 19 строки
            Set loRangeAddress = .GetCellRangeByPosition(0, 18, 15, 18).GetRangeAddress() - выбираем диапазон для копирования столбец начала, строка начала, столбец конца, строка конца
            Set loCellAddress = .GetCellByPosition(0, 19).GetCellAddress() - выбираем куда вставлять столбец, строка
           .CopyRange loCellAddress, loRangeAddress - вставка (точнее замена того что было на то что есть в выделенном диапазоне)


наверно возможны и другие варианты...

и вопрос

в экселе возможно такое
Код: plaintext
1.
.Range("наименование").CopyFromRecordset rst

быстро и коротко.
а openoffice_calc есть такое?
нашёл только в цикле по ячейкам. (наверно плохо искал...)
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #34694528
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадябыстро и коротко.
а openoffice_calc есть такое?
нашёл только в цикле по ячейкам. (наверно плохо искал...)
зачем цикл по ячейкам? можно массив данных сохранить в диапазон (как и в Excel) - будет быстрее на порядок - поищите по нашему форуму по "вывод в Excel" - в OOo принцип такой же:
набор записей переводится в массив, потом все это сохраняется в диапазон ячеек, совпадающий по размеру с этим массивом.
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #34694595
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проблема в том, что я не нашёл ничего, что может подсказать.
я и хочу по анологиии как с экселем, но....
дело в методах самих командах, а где их помотреть ?
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #34697478
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как передать в фунцию ссылку на массив?
т.е. адрес массива в памяти.

типа как на VFP

oRange = poSheet.getCellRangeByPosition(pCol,pRow,pCol+nCols-1,pRow+nRows-1)
oRange.SetDataArray(@aDataArray)

пчему-то с openoffice много работают на VFP...
и куча примеров есть.
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #34701505
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #34707600
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для тех кому интересно


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Dim arr As Variant
arr = rst.GetRows
Dim oCellRange As Object

' можно так, если диапазон постоянен
Set oCellRange = .getCellRangeByName("я") 
'или так для общего случая (нада учесть что нумерация ячеек идёт с 0
Set oCellRange = .getCellRangeByPosition( 1 ,  18 , UBound(arr,  1 ) +  1 ,  18  + UBound(arr,  2 ))
oCellRange.setDataArray (arr)
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #34717166
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
продолжаю осваивать.

Код: plaintext
1.
2.
3.
Dim fileProp As Variant

fileProp = CreateProperties("Password", "Arthur1987", "Hidden", True)
The list in CreateProperties must have an even number of arguments: Name, Value, Name, Value, and so on for each property to be created.


помогите написать CreateProperties, а то в голове всё смешалось.
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #34717174
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CreateProperties на VBA
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #34728888
&lt;&gt;
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторCreateProperties на VBA
я так понял, что основная проблема с открытием "по тихому", вот че нарыл и проверил:
Код: plaintext
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.
Sub openDoc()
Rem
Rem Load an existing writer document, with opening parameters
Rem
  Dim oSM, ODesk As Object 'root object from OOo API
  Dim oDoc As Object       'The document to be opened
  Dim OpenPar( 2 ) As Object 'a Visual Basic array, with 3 elements
'Instanciate OOo : the first line is always required from Visual Basic for OOo
  Set oSM = CreateObject("com.sun.star.ServiceManager")
  Set ODesk = oSM.createInstance("com.sun.star.frame.Desktop")
  
  Set OpenPar( 0 ) = MakePropertyValue("ReadOnly", True)
  Set OpenPar( 1 ) = MakePropertyValue("Password", "")
  Set OpenPar( 2 ) = MakePropertyValue("Hidden", True)

  Set oDoc = ODesk.LoadComponentFromURL("file:///C:/test.xls", "_blank",  0 , OpenPar)

  MsgBox oDoc.sheets.Count
   
End Sub

 Function MakePropertyValue(cName, uValue) As Object
   
  Dim oPropertyValue As Object
  Dim oSM As Object
   
  Set oSM = CreateObject("com.sun.star.ServiceManager")
  Set oPropertyValue = oSM.Bridge_GetStruct("com.sun.star.beans.PropertyValue")
  oPropertyValue.name = cName
  oPropertyValue.value = uValue
     
  Set MakePropertyValue = oPropertyValue

End Function
А2002 + ОпенОфис 2.0.4
Доп. референсов никаких не установлено и ничего дополнительно не качал.
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #34729686
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо <>
это подходит, соответственноскорость заполнения возросла
перевод в видимое где-то я видел, думаю справлюсь

для рантайма ещё Ltrim в runtime
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Акес и ОpenOffice
    #37633371
Wallaby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадядля тех кому интересно


Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
Dim arr As Variant
arr = rst.GetRows
Dim oCellRange As Object

' можно так, если диапазон постоянен
Set oCellRange = .getCellRangeByName("я") 
'или так для общего случая (нада учесть что нумерация ячеек идёт с 0
Set oCellRange = .getCellRangeByPosition(1, 18, UBound(arr, 1) + 1, 18 + UBound(arr, 2))
oCellRange.setDataArray (arr)



Добрый день. Аналогичная задача - вывести результат запроса (рекордсет) в OpenOffice Calc вместо привычного Excel'a. Вышеприведенный способ не работает. Выдается ошибка

Run-time error '1001':
com.sun.star.uno.RuntimeException:

и на этом всё.

Есть ли еще какой-то способ выгрузки запроса в Calc, кроме как через массив?
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #37633954
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
насколько я могу вспомнить - только чере массив.
мне удалось создать заполнение накладной торгг12 и акса в calс
всё роботает но это было давно...........
и там была версия опенофиса 2.х.х
счас уже 3 и нескольких разработчиков приэтом
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #37634448
Wallaby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадянасколько я могу вспомнить - только чере массив.
мне удалось создать заполнение накладной торгг12 и акса в calс
всё роботает но это было давно...........
и там была версия опенофиса 2.х.х
счас уже 3 и нескольких разработчиков приэтом

да, у меня стоит версия 3.3.
И выводить массив отказывается наотрез без объяснения причин (RuntimeException, и точка).

Неужели единственная альтернатива - выводить циклом по записям?!
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #37634625
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wallaby,

поспрашивай на форумах опенофиса, там нормально помогают.
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #37635612
Wallaby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадя,

что же делать. Спасибо, поищу...
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Акес и ОpenOffice
    #39288043
ккэп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток. Помогите пожалуйста разобраться с тем, что бы загрузить опен документ в акцес 2010. Имеется файл как в примере, в который происходит импорт из сторонней программы. Необходимо загрузить указанные сведения в акцесс. Причем если смотреть через open writer, то все таблицы имеют заголовок. Т.е. необходимо в акцесе собрать таблицу в которую бы проставлялся код заказа и все данные из нижней таблицы.

Перерыл все форумы не могу найти как правильно загрузить его в акцесс, если провалиться тотел командером в файл опен офиса, то получается что все данные хранятся в файле content.xml, но не могу понять как его разложить на то что требуется. Пробовал стандартный импорт, он создает кучу таблиц, но загружает в порядке который потом не могу обработать из-за того, что он импортирует всё в один столбик, и не понятно сколько событий происходили у одного заказа.

пробовал загрузка xml однако как-то не сильно вышло..
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #39288047
_гурД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ккэп,

сохранить файл в приемлемом для Аксесс формате - .mdb, .accdb... - позволяет? Есть ещё LibreOffice - более развитый проект...
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #39288049
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_гурДЕсть ещё LibreOffice - более развитый проект...
Ну расскажите нам "недоумкам" про LibreOffice
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #39288168
ккэп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_гурД,

Нет, такой возможности нет именно поэтому и есть необходимость корректного переноса в акцесс
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #39288225
_гурД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ккэп,

http://www.sql.ru/forum/968385-214/lesenka-s-pravilami-osnovana-10-sen-12-off

Попробуйте проделать экспорт-импорт через Azure, если у вас только таблицы и запросы. Если также и код, то наверно не получится
(я сейчас проверить не могу - нет Виндовса).
По ссылке есть обсуждение на Лестнице. Не знаю, получилось что у Саныча или нет, давно на связь не выходил...
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #39288270
ккэп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_гурД,

Спасибо, посижу почитаю про эту приблуду. А ветка на которую дали ссылку просто флуд)
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #39288484
ккэп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почитал на сколько смог понять разобрался что только за денежку и при установке доп ПО. Этот вариант не подходит. Безопасность не пропустит установку из вне, а делать на домашнем и постоянно носить на работу полуфабрикаты не вариант
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #39299203
ккэп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ккэп,

Ну вообщем решил данную проблему.
...
Рейтинг: 0 / 0
24 сообщений из 74, страница 3 из 3
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Акес и ОpenOffice
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]