Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / вставить контент из одного файла в закладку, находящуюся в другом файле, через OOo Writer. / 11 сообщений из 11, страница 1 из 1
02.08.2012, 17:59
    #37902433
DrunkWolf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вставить контент из одного файла в закладку, находящуюся в другом файле, через OOo Writer.
Помогите разобраться.
Задача вставить форматированный текст из одного файла в закладку, находящуюся в другом файле, через OOo Writer.


Код: vbnet
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.
'
'Creates a sequence of com.sun.star.beans.PropertyValue s
'
 Function MakePropertyValue(cName, uValue)' As Object
Dim oStruct, oServiceManager 'as Object
    Set oServiceManager = CreateObject("com.sun.star.ServiceManager")
    Set oStruct = oServiceManager.Bridge_GetStruct("com.sun.star.beans.PropertyValue")
    oStruct.Name = cName
    oStruct.Value = uValue
    Set MakePropertyValue = oStruct
End Function 

'Converts a Ms Windows local pathname in URL (RFC 1738)
'Todo : UNC pathnames, more character conversions
'
 Function ConvertToUrl(strFile) 'As String
    strFile = Replace(strFile, "\", "/")
    strFile = Replace(strFile, ":", "|")
    strFile = Replace(strFile, " ", "%20")
    strFile = "file:///" + strFile
    ConvertToUrl = strFile
End Function
'A simple shortcut to create a service
'
Public Function CreateUnoService(strServiceName)' As Object
Dim oServiceManager 'As Object
    Set oServiceManager = CreateObject("com.sun.star.ServiceManager")
    Set CreateUnoService = oServiceManager.createInstance(strServiceName)
End Function

Function openDoc(sFile)
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(1) 'As Object 'a Visual Basic array, with 3 elements
'sFile ="C:\oo\11.doc"
sFileURL = ConvertToUrl(sFile)
'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")

'We call the MakePropertyValue function, defined just before, to access the structure
  Set OpenPar(0) = MakePropertyValue("ReadOnly", False)
 ' Set OpenPar(1) = MakePropertyValue("Password", "secret")
  Set OpenPar(1) = MakePropertyValue("Hidden", False)

'Now we can call the OOo loadComponentFromURL method, giving it as
'fourth argument the result of our precedent MakePropertyValue call    
  Set oDoc = oDesk.loadComponentFromURL(sFileURL, "_blank", 0, OpenPar)
  set openDoc = oDoc
 
     
End Function
''''''''''''''' 
 sFile ="C:\oo\11.doc"
 sFile2 ="C:\oo\22.doc"
 set oDoc = openDoc(sFile)  ' открываем файл в который вставить
 set oDoc2 = openDoc(sFile2) ' файл, содержащий текст вставки
Flag=True
 set TextPointer = oDoc.GetText
 set CursorPointer = TextPointer.CreateTextCursor
 set BookmarksSupplier=oDoc.getBookmarks
 set Bookmark=BookmarksSupplier.getByName("Zakl").getAnchor
   
 Text = "hhhhhhhh"
 'Bookmark.setString(Text)
 Bookmark.setString(oDoc2)



Модератор: Учимся использовать тэги оформления кода - FAQ


На последней строке (где собственно вставка и происходит) ругается: Cannot convert the value of vartype "9" to expected UNO type of type class: 12
...
Рейтинг: 0 / 0
08.08.2012, 20:23
    #37909565
DrunkWolf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вставить контент из одного файла в закладку, находящуюся в другом файле, через OOo Writer.
Up!
...
Рейтинг: 0 / 0
08.08.2012, 20:26
    #37909572
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вставить контент из одного файла в закладку, находящуюся в другом файле, через OOo Writer.
Опаньки, у опенофиса есть com-обертка.
...
Рейтинг: 0 / 0
08.08.2012, 21:03
    #37909605
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вставить контент из одного файла в закладку, находящуюся в другом файле, через OOo Writer.
AntonariyОпаньки, у опенофиса есть com-обертка.Есть даже эмулятор объектной модели Экселя поверх этой обертки )
...
Рейтинг: 0 / 0
09.08.2012, 10:11
    #37910027
DrunkWolf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вставить контент из одного файла в закладку, находящуюся в другом файле, через OOo Writer.
И все же...Может быть кто подскажет, как мне вставить объект, содержащий форматированный текст в закладку?
...
Рейтинг: 0 / 0
09.08.2012, 10:17
    #37910049
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вставить контент из одного файла в закладку, находящуюся в другом файле, через OOo Writer.
а
Код: vbnet
1.
Bookmark.setString("123")


проходит?
...
Рейтинг: 0 / 0
09.08.2012, 11:20
    #37910200
DrunkWolf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вставить контент из одного файла в закладку, находящуюся в другом файле, через OOo Writer.
Shocker.Pro,
Да, но так проходит просто строка без формата. А нужно именно с сохранением шрифта, цвета и тп...
Еще (TextPointer.insertString Bookmark, Text, false) проходит, но это тоже самое.
Есть еще метод insertTextContent, но не могу понять, как и в каких случаях он работает.
...
Рейтинг: 0 / 0
09.08.2012, 11:39
    #37910249
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вставить контент из одного файла в закладку, находящуюся в другом файле, через OOo Writer.
Но ведь oDoc2 - это объект-файл, а не текст.
...
Рейтинг: 0 / 0
09.08.2012, 11:40
    #37910251
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вставить контент из одного файла в закладку, находящуюся в другом файле, через OOo Writer.
Мне кажется, вопросы надо задавать на форуме ОО, ибо тут VB почти не причем - надо разобраться, какие типы данных подавать на вход метода.
...
Рейтинг: 0 / 0
09.08.2012, 11:59
    #37910304
DrunkWolf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вставить контент из одного файла в закладку, находящуюся в другом файле, через OOo Writer.
Там тоже был задан, пока молчат..
...
Рейтинг: 0 / 0
09.08.2012, 12:07
    #37910331
DrunkWolf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вставить контент из одного файла в закладку, находящуюся в другом файле, через OOo Writer.
Shocker.Pro,

Объект - текст перем. TextPointer, с ней тоже много чего пробовал.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / вставить контент из одного файла в закладку, находящуюся в другом файле, через OOo Writer. / 11 сообщений из 11, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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