Копирование в буфер

Автор mcdy, 26 сентября 2017, 10:24

0 Пользователи и 1 гость просматривают эту тему.

mcdy

Много информации на форуме,  но слишком сложные примеры,  выделить именно копирование не получается.

Нужен макрос для копирования в буфер заданного диапазона ячеек,  скажем а10:в20
Помогите,  пожалуйста.

JohnSUN

Добро пожаловать на форум!
См. у Питоньяка в главе  5.23.1. Copy Spreadsheet Cells With The Clipboard - он считает, что проще всего это сделать с помощью диспетчера.
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

mcdy

Спс... в книге еще хуже...  Но, вобщем получилось так:



sub Main
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ToPoint"
args2(0).Value = "$A$5:$C$728"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args2())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())

end sub

JohnSUN

Ну, не то чтобы хуже... Просто вместо команды диспетчера .uno:GoToCell там использован .select (метод CurrentController'а). Получилось многословнее и непонятнее.
Ну, в общем заработало и ладно. Поздравляю с трудовой победой!  :beer:
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

economist

#4
A так? В LibreOffice Calc


Option VBASupport 1
Option Compatible

Sub CopyRangeVBAStyle()
[A5:C728].Copy
End sub



Уровень поддержки "объектной VBA-модели Excel" - в LibreOffice на хорошем уровне, а сама модель - верх продуманности и немногословности.
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

mcdy

Цитата: JohnSUN от 26 сентября 2017, 11:38Ну, не то чтобы хуже...
"Хуже" в смысле "непонятнее". Постоянно ошибки вылетали.

Цитата: economist от 26 сентября 2017, 11:50A так? В LibreOffice Calc
Работает. вау...