Список форумов Форум Libreoffice

Форум Libreoffice

Добро пожаловать на Форум Libreoffice!
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

English French German Italian Portuguese Russian Spanish
Копирование из файла в файл (uno:Copy-uno:Paste)

 
Начать новую тему   Ответить на тему    Список форумов Форум Libreoffice -> Basic
Предыдущая тема :: Следующая тема  
Автор Сообщение
hasim



Репутация: 0    

Зарегистрирован: 28.05.2012
Сообщения: 32

СообщениеДобавлено: Вс Авг 26, 2012 3:21 pm    Заголовок сообщения: Копирование из файла в файл (uno:Copy-uno:Paste) Ответить с цитатой

Для копирования, например, области ячеек "$A$3:$E$3" ( с данными, со всем форматированием и т.п.) из одного файла 2.ods (находящегося в папке 01 на диске С:) в другой 1.ods, можно использовать следующий макрос.
Этот макрос находится в файле 1.ods и запускается из этого же файла.

Код:
Sub Main
dim oDoc1   as object
dim oDoc2 as object
dim oDoc10   as object
dim oDoc20 as object
dim document   as object
dim dispatcher as object

   dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

   oDoc10=ThisComponent
   oDoc1=oDoc10.CurrentController.Frame

'открываем файл 2.ods
   Dim noArgs()
      oDoc20 = StarDesktop.loadComponentFromURL(ConvertToURL("C:\01\2.ods"), "_blank", 0, noArgs())
      oDoc2=oDoc20.CurrentController.Frame
   
'копируем из файла 2.ods нужную область данных
   dim args2(0) as new com.sun.star.beans.PropertyValue
   args2(0).Name = "ToPoint"
   args2(0).Value = "$A$3:$E$3"
   dispatcher.executeDispatch(oDoc2, ".uno:GoToCell", "", 0, args2())
   dispatcher.executeDispatch(oDoc2, ".uno:Copy", "", 0, Array())

'вставляем скопированную из файла 2.ods область данных в заданную область файла 1.ods
   dim args1(0) as new com.sun.star.beans.PropertyValue
   args1(0).Name = "ToPoint"
   args1(0).Value = "$C$13:$G$13"
   dispatcher.executeDispatch(oDoc1, ".uno:GoToCell", "", 0, args1())
   dispatcher.executeDispatch(oDoc1, ".uno:Paste", "", 0, Array())

'закрываем файл 2.ods
   oDoc2.close(True)

End Sub
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Форум Libreoffice -> Basic Часовой пояс: GMT
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group
Вы можете бесплатно создать форум на MyBB2.ru, RSS