powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Акес и ОpenOffice
25 сообщений из 74, страница 1 из 3
Акес и ОpenOffice
    #34560987
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может это бред...
кто-нибудь пробовал выводить в ООо
тоже самое что и в ворд и эксель?
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #34561060
Lamazoid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А подробнее нелзя было расшифровать что такое OO - тут что фсе маги и декодеры чтоли. А вообщето на скока я думаю что OO (Open Office - наверное) должен позволять работать с собой как с объектом - попробуй зделать что то - типа
set obj=createobject ("openoffice.application")
и рассматривай этот объект в locals
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #34561102
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
насчёт ООо ты угадал.
а вот твоё второе предположение требует проверки, к сожалению как бы ну.....
вот и спрашиваю (чтоб на чужих ошибках научиться), вдруг есть , кто по этим граблям прошёл...
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #34561107
Фотография PA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #34561333
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадянасчёт ООо ты угадал.
а вот твоё второе предположение требует проверки, к сожалению как бы ну.....
вот и спрашиваю (чтоб на чужих ошибках научиться), вдруг есть , кто по этим граблям прошёл...

я на этих граблях до сих пор прыгаю - мое мнение: бесплатных продуктов не бывает, бывают продукты, за которые ВНАЧАЛЕ не платишь...

вот русскоязычный форум: http://community.i-rs.ru/

если есть возможность остаться на MS Office - лучше оставаться на нем.
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #34561414
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2nibbles
там я уже засветился

ну тоо что бесплатный сыр только в мышеловке я догадываюсь....

но перед тем как пробовать, хочется послушать мнение бывалых
если не в лом - поделись проблемами, нужно оценить затраты по переходу
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #34561453
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя2nibbles
там я уже засветился

ну тоо что бесплатный сыр только в мышеловке я догадываюсь....

но перед тем как пробовать, хочется послушать мнение бывалых
если не в лом - поделись проблемами, нужно оценить затраты по переходу

Навскидку:
Длительные (от 20 до 60 сек на моем программерском железе) операции загрузки, открытия, перерасчета листов, глюки при работе с шаблонами (если шаблоны лежат на сетевых ресурсах), невозможность использовать автоматически созданные макро в своем коде, убогий (другого слова не подберешь) редактор исходного кода. Отсутствие внятной документации по языку - тот гуид, что всем предлагается в качестве мануала по программированию, содержит не все необходимые в работе с ООо команды - доискивать приходится на форумах... кстати, идти лучше сразу на англоязычный http://www.oooforum.org/forum/search.phtml - наш в этом случае помогал мне редко.
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #34669765
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хочу использовать но не могу разобраться

есть примеры, но ...

http://triteh.ru/libooo/

может кто поможет как из акса открыть документ экселя используя эту приблуду для openoffice
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #34669942
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяхочу использовать но не могу разобраться

есть примеры, но ...

http://triteh.ru/libooo/

может кто поможет как из акса открыть документ экселя используя эту приблуду для openoffice

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Public Sub ufTest()
Dim oApp As TOpenOffice.Bridge

    Set oApp = New TOpenOffice.Bridge
    
    oApp.Open ("C:\test.xls")
    

End Sub

Имхо, лучше работать напрямую через интерфейс самого OOo.
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #34669945
Фотография %?*?%
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эту "приблуду" надо скачать и добавить ссылку на нее в референсы проекта. После этого можно работать как там описано. Открыть документ:

Код: plaintext
1.
2.
3.
4.
5.
Dim t As Object

Set t = CreateObject("TOpenOffice.Bridge")
t.Open "C:\MyFile.xls"
t.Visible = True
Set t = Nothing
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #34669958
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тока в референсах надо подключить бибилотеку TOpenOffice... пока приблуду не ковырял, но довольно интересная, хотя, естественно, всех потребностей программиста она охватить не сможет
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #34669970
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
%?*?%Эту "приблуду" надо скачать и добавить ссылку на нее в референсы проекта. После этого можно работать как там описано. Открыть документ:

Код: plaintext
1.
2.
3.
4.
5.
Dim t As Object

Set t = CreateObject("TOpenOffice.Bridge")
t.Open "C:\MyFile.xls"
t.Visible = True
Set t = Nothing


при таком использовании (через "As Object") добавлять ссылку на библиотеку не нужно - не имеет смысла
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #34670061
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторИмхо, лучше работать напрямую через интерфейс самого OOo.


а это как?


а через эту приблуду много не сделаешь.....
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #34670081
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что надо подлючить в референсах от opeNoffice?
я не смог разобраться ...
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #34670383
Фотография %?*?%
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ничего. Тут только через CreateObject

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Private Sub Command1_Click()

Dim objServiceManager As Object
Dim Desktop As Object
Dim Document1 As Object
Dim OpenParams( 0 )

Set objServiceManager = CreateObject("com.sun.star.ServiceManager")

Set OpenParams( 0 ) = OOoPropertyValue("ReadWrite", True)

Set Desktop = objServiceManager.createInstance("com.sun.star.frame.Desktop")

Set Document1 = Desktop.LoadComponentFromURL("file:///C:/MyFile.xls", "_blank",  0 , OpenParams)

End Sub
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #34670399
Фотография %?*?%
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nibbles %?*?%Эту "приблуду" надо скачать и добавить ссылку на нее в референсы проекта. После этого можно работать как там описано. Открыть документ:

Код: plaintext
1.
2.
3.
4.
5.
Dim t As Object

Set t = CreateObject("TOpenOffice.Bridge")
t.Open "C:\MyFile.xls"
t.Visible = True
Set t = Nothing


при таком использовании (через "As Object") добавлять ссылку на библиотеку не нужно - не имеет смысла

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


Код: plaintext
Set OpenParams( 0 ) = OOoPropertyValue("ReadWrite", True)


OOoPropertyValue - функция не определена...


в этом случае , что-то нада регистрировать?
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #34670722
Фотография %?*?%
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня работает. Ну, сделай так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Private Sub Command1_Click()

Dim objServiceManager As Object
Dim Desktop As Object
Dim Document1 As Object
Dim OpenParams()

Set objServiceManager = CreateObject("com.sun.star.ServiceManager")

Set Desktop = objServiceManager.createInstance("com.sun.star.frame.Desktop")

Set Document1 = Desktop.LoadComponentFromURL("file:///C:/MyFile.xls", "_blank",  0 , OpenParams)

End Sub
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #34670795
Фотография %?*?%
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняюсь, тормжу. Вот функция:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Function OOoPropertyValue(cName, uValue)
Dim oPropertyValue As Object

Set oPropertyValue = objServiceManager.Bridge_GetStruct("com.sun.star.beans.PropertyValue")
oPropertyValue.Name = cName
oPropertyValue.Value = uValue

Set OOoPropertyValue = oPropertyValue
End Function
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #34670835
Фотография %?*?%
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати - только что заметил - уже ведь дали вот эту ссылку - Programming OpenOffice.org with Visual Basic . Там очень подробно и с примерами описано как работать с OpenOffice API. Пользуйтесь - все рабочее.
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #34671746
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я у MS английский читать могу, но с этим - проблемы....
если не влом, ткните в то место где написано про то, как работать с экселем через ООо
чтоб и RANGE всё прочее экселевское можно было пользовать.
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #34671761
Фотография %?*?%
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скачай вот этот файлик Тут детально сравниваются VBA и SB.
...
Рейтинг: 0 / 0
Акес и ОpenOffice
    #34672014
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
%?*?% Скачай вот этот файлик Тут детально сравниваются VBA и SB.

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


Код: plaintext
1.
2.
3.
4.
5.
6.
Set ExlDb = CreateObject("com.sun.star.ServiceManager")
Set Desktop = ExlDb.createInstance("com.sun.star.frame.Desktop")
Set Document1 = Desktop.LoadComponentFromURL("file:///C:/NL/накл2.xls", "_blank",  0 , OpenParams)
Set WrkSht = Document1.CurrentController.ActiveSheet
With WrkSht
            
    .getCellRangeByName("грузоотправитель").String = srst![........


а вот пребразовать не могу

Код: plaintext
1.
2.
3.
4.
5.
With WrkSht
   .Rows("21:26").Delete Shift:=xlUp
           .Rows("20:2" & i -  2 ).EntireRow.Insert
            .Rows("19:19").Select
            .Rows("19:19").Copy
            .Rows("20:2" & i -  2 ).Select



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

Код: 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.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
'Insert string, formula or value in a cell and set basics formats
'Calc_InsertStringCell("A1","My Text","0.000", "Arial",18,1,True,True)
'Calc_InsertStringCell("A1","=sum(A2:A3)","0.000", "Arial",18,1,True,True)
'Calc_InsertStringCell("A1",15.17,"0.000,00", "Arial",18,1,True,True)

Sub Calc_InsertStringCell(strCell As String, uTxt, Optional strFormat As String, Optional strFont As String, Optional intSize As Integer, Optional intPos As Integer, Optional blWrp As Boolean, Optional blAutaj As Boolean)
'strCell = Cell Address in A1 layout
'uTxt = String, formula or value to be inserted in strCell
'strFormat = Cell format to applicate (optional)
'strFont = Font name (optional)
'intSize = Font size (optional)
'intPos = 1=Left; 2=Right; 3=Justify Word Wrap; 4=Center (optional)
'blWrp = TextWrapped (optional)
'blAutaj  = ShrinktoFit (optional)

   Dim objCel As Object
   Set objCel = oSheet.getCellByPosition(Calc_ColumnNumber(strCell), Calc_RowNumber(strCell)) 'Format (Column,Row)
   Select Case TypeName(uTxt)
   Case "String"
      If Left(uTxt,  1 ) = "=" Then 'It's a formula
         objCel.setFormula uTxt
      Else 'It's a string
         objCel.setString uTxt
      End If
   Case "Double", "Integer", "Long"
      objCel.SetValue uTxt
   End Select
   If IsMissing(strFormat) = False Then
      If Len(strFormat) >  0  Then 'there is a format
         Calc_FormatRange strCell, strFormat
      End If
   End If
   If Len(strFont) >  0  Then 'There is a font name
      objCel.SetPropertyValue "CharFontName", strFont
   End If
   If intSize >  0  Then 'Ther is a font size
      objCel.SetPropertyValue "CharHeight", intSize
   End If
   If intPos >  0  And intPos <=  4  Then
      '1=Left; 2=Right; 3=Justify Word Wrap; 4=Center
      Select Case intPos
         Case  1 : objCel.SetPropertyValue "ParaAdjust",  0   'Left
         Case  2 : objCel.SetPropertyValue "ParaAdjust",  1   'Right
         Case  3 : objCel.SetPropertyValue "ParaAdjust",  2   'Justify Word Wrap
         Case  4 : objCel.SetPropertyValue "ParaAdjust",  3  'Center
      End Select
   End If
   objCel.SetPropertyValue "ShrinkToFit", blAutaj 'ShrinktoFit
   objCel.SetPropertyValue "IsTextWrapped", blWrp 'TextWrapped
End Sub


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
'Insert strings, formulas or values in 15 columns of a row
'Calc_InsertStringRow("A1","MyText1","MyText2", "MyText3"

Sub Calc_InsertStringRow(strCell As String, Optional uTxt01, Optional uTxt02, Optional uTxt03, Optional uTxt04, Optional uTxt05, Optional uTxt06, Optional uTxt07, Optional uTxt08, Optional uTxt09, Optional uTxt10, Optional uTxt11, Optional uTxt12, Optional uTxt13, Optional uTxt14, Optional uTxt15)
   Dim objCel As Object
   If IsMissing(uTxt01) = False Then Calc_InsertStringCell strCell, uTxt01
   If IsMissing(uTxt02) = False Then Calc_InsertStringCell Calc_ColumnAddNumber(strCell,  1 ) & Calc_RowNumber(strCell) +  1 , uTxt02
   If IsMissing(uTxt03) = False Then Calc_InsertStringCell Calc_ColumnAddNumber(strCell,  2 ) & Calc_RowNumber(strCell) +  1 , uTxt03
   If IsMissing(uTxt04) = False Then Calc_InsertStringCell Calc_ColumnAddNumber(strCell,  3 ) & Calc_RowNumber(strCell) +  1 , uTxt04
   If IsMissing(uTxt05) = False Then Calc_InsertStringCell Calc_ColumnAddNumber(strCell,  4 ) & Calc_RowNumber(strCell) +  1 , uTxt05
   If IsMissing(uTxt06) = False Then Calc_InsertStringCell Calc_ColumnAddNumber(strCell,  5 ) & Calc_RowNumber(strCell) +  1 , uTxt06
   If IsMissing(uTxt07) = False Then Calc_InsertStringCell Calc_ColumnAddNumber(strCell,  6 ) & Calc_RowNumber(strCell) +  1 , uTxt07
   If IsMissing(uTxt08) = False Then Calc_InsertStringCell Calc_ColumnAddNumber(strCell,  7 ) & Calc_RowNumber(strCell) +  1 , uTxt08
   If IsMissing(uTxt09) = False Then Calc_InsertStringCell Calc_ColumnAddNumber(strCell,  8 ) & Calc_RowNumber(strCell) +  1 , uTxt09
   If IsMissing(uTxt10) = False Then Calc_InsertStringCell Calc_ColumnAddNumber(strCell,  9 ) & Calc_RowNumber(strCell) +  1 , uTxt10
   If IsMissing(uTxt11) = False Then Calc_InsertStringCell Calc_ColumnAddNumber(strCell,  10 ) & Calc_RowNumber(strCell) +  1 , uTxt11
   If IsMissing(uTxt12) = False Then Calc_InsertStringCell Calc_ColumnAddNumber(strCell,  11 ) & Calc_RowNumber(strCell) +  1 , uTxt12
   If IsMissing(uTxt13) = False Then Calc_InsertStringCell Calc_ColumnAddNumber(strCell,  12 ) & Calc_RowNumber(strCell) +  1 , uTxt13
   If IsMissing(uTxt14) = False Then Calc_InsertStringCell Calc_ColumnAddNumber(strCell,  13 ) & Calc_RowNumber(strCell) +  1 , uTxt14
   If IsMissing(uTxt15) = False Then Calc_InsertStringCell Calc_ColumnAddNumber(strCell,  14 ) & Calc_RowNumber(strCell) +  1 , uTxt15
End Sub
...
Рейтинг: 0 / 0
25 сообщений из 74, страница 1 из 3
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Акес и ОpenOffice
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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