Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

22 Май 2019, 08:12 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Вы можете задать вопрос по LibreOffice или Apache OpenOffice  без регистрации, используя форму
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Нужен макрос для копирования листа  (Прочитано 6283 раз)
0 Пользователей и 1 Гость смотрят эту тему.
aleksandr19_87
Новичок
*
Offline Offline

Сообщений: 3


« Стартовое сообщение: 10 Февраль 2012, 16:14 »

Всем привет. Помогите пожалуйста с макросом...сам я этим не когда не занимался но время видимо пришло...)
Есть книга1.ods в ней около 10 листов последний лист назовем "бухгалтерия" нужно создать другую книгу в сетевой папке назовем ее книга2.ods  куда должен копироваться полностью единственный лист из книги1 а именно бухгалтерия  и соответственно если там что то меняют в этом листе книги1 должно автоматически меняться в книге2  . При чем книга1 должна отдавать информацию... тк расположенная книга2 в сетевой папке просто не имеет доступа к компьютеру и тем самым не может забирать информацию за неимением доступа( доступ открыть невозможно). Поэтому только отдавать в сетевую... Главное что бы он полностью копировался и обновлялся с книги1 по мере редактирования листа бухгалтерия, уж не знаю как будет происходить копирование, при закрытии книги1 он будет обновляться или как то по другому... Помогите!!) Очень нужен этот макрос ...
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 764


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #1: 10 Февраль 2012, 18:23 »

Всем привет.
Добро пожаловать на форум!
Есть книга1.ods в ней около 10 листов последний лист назовем "бухгалтерия"
Всегда последний?
Код:
oSheet = oSheets.getByIndex(oSheets.getCount()-1)
Или все-таки назовем "бухгалтерия"?
Код:
oSheet = oSheets.getByName("бухгалтерия")
В первом случае можем поймать глюк, если лист перетащат в другое место (это очень просто - облокотиться на мышку и дёрнуть локтем) или добавят новый лист после последнего.
Во втором случае глюк возникнет, если лист переименуют в, скажем, "Бухгалтерия" или "бухгалтерия за декабрь"
нужно создать другую книгу в сетевой папке назовем ее книга2.ods  куда должен копироваться полностью единственный лист из книги1 а именно бухгалтерия  и соответственно если там что то меняют в этом листе книги1 должно автоматически меняться в книге2  . При чем книга1 должна отдавать информацию...
Точнее, принудительно запихивать. А если "книга2.ods" в этот момент открыта кем-то из любопытных или обрабатывается какой-то программой? Что с этой книгой вообще будет происходить? Смотреть и печатать? Тогда это вполне может быть PDF. Дополнительно что-то считать по полученным данным? Тогда CSV...
Поэтому только отдавать в сетевую... Главное что бы он полностью копировался и обновлялся с книги1 по мере редактирования листа бухгалтерия,
Погоди. Что будем отдавать-то? Только посчитанные значения? Или и формулы, и оформление, и примечания?..
Очень нужен этот макрос ...
Да не спеши ты с макросом! Возможно, он и не нужен будет - есть куча способов сообщить информацию в другой документ...
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
aleksandr19_87
Новичок
*
Offline Offline

Сообщений: 3


« Ответ #2: 13 Февраль 2012, 15:16 »

Да этот лист "бухгалтерия" всегда последний.
Эту книгу2 будут только смотреть ... не какие формулы там не нужны только цифровые значения. Суть в том что бы все ячейки просто дублировались не важно текст там или цифры. Редактировать книгу2 тоже не будут.
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 764


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #3: 13 Февраль 2012, 21:35 »

Напрашиваются два варианта:
1. Экспортировать лист "бухгалтерия" в PDF-файл на сервер - смотрите сколько хотите.
2. Сохранять лист "бухгалтерия" в CSV-файл на сервер, а для его просмотра использовать книгу Calc с прилинкованными данными (меню Вставка - Лист из файла)
Любой из них можно оформить макросом, который привязать к сохранению основного документа
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
aleksandr19_87
Новичок
*
Offline Offline

Сообщений: 3


« Ответ #4: 17 Февраль 2012, 15:04 »

Спасибо большое=) Вроде бы на экспорт я их уговорил... Пользователи просто хотели что бы это все было автоматизированно и они не чего не нажимали лишнего.)
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 764


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #5: 17 Февраль 2012, 15:39 »

Уговорил на экспорт в PDF? Тогда, например, этот макрос от Клио
Ну, там заменить "Лист1" на "бухгалтерия", диапазон ячеек в .getCellRangeByName() правильный задать и указать полный путь на сервер в .storeToURL() - должно работать.
Или более подробный вариант - здесь можно использовать более точную настройку параметров выходного PDF.
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!