Копировать данные из разных книг

Автор Tin, 27 января 2016, 00:12

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

JohnSUN

Ну, в общем, да...
Смотри. У тебя будет, наверное, три книги: отдельный сборник справочников Etalon (всё то, что уже сейчас лежит в листе Etalon, плюс пара-тройка более коротких справочников), книга с исходным прайсом и книга, в которую скинешь результат преобразований.
Чтобы управляться с каждой из них, нужно результат открытия файла присвоить какой-то переменной. Не обязательно Object, можно Variant - не намного хуже. Через методы этой переменной ты получишь доступ ко всем листам этой вот конкретной книги (лист - один! - тоже присвоишь какой-то переменной Variant). Через методы листа сможешь дотягиваться до ячеек листа, читать-писать данные и формулы и всё такое...
Сейчас набросаю простой пример, чтобы было проще объяснять... Подождёшь?
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

Tin

Конечно подожду!)

Цитата: JohnSUN от 27 января 2016, 19:32Чтобы управляться с каждой из них, нужно результат открытия файла присвоить какой-то переменной. Не обязательно Object, можно Variant - не намного хуже. Через методы этой переменной ты получишь доступ ко всем листам этой вот конкретной книги (лист - один! - тоже присвоишь какой-то переменной Variant). Через методы листа сможешь дотягиваться до ячеек листа, читать-писать данные и формулы и всё такое...
Сейчас набросаю простой пример, чтобы было проще объяснять... Подождёшь?
А можно где-то почитать подробней про эти методы именно для работы с книгами и листами. Я сейчас по этим книгам работаю:
http://websprav.admin-smolensk.ru/freesoft/freesoft/OpenOffice.org%20Macros%20Explained.Master.pdf
http://websprav.admin-smolensk.ru/freesoft/freesoft/OpenOffice.org.BASIC%20Guide.pdf
и еще Марк Бэйн "Изучение программирования макросов для электронных таблиц в OpenOffice.org OOo Basic и Автоматизация Calc"
Но ни в одной из них не написано про работу с книгами( Или же я не внимательна.

rami

Цитата: Tin от 27 января 2016, 19:49Но ни в одной из них не написано про работу с книгами( Или же я не внимательна.
Первая из указанных книг (OpenOffice.org%20Macros%20Explained.Master.pdf) достаточна, но и другие полезны. "Работа с книгами" это Глава 11. StarDesktop, а также Глава 12. Общие методы документов. Работа с листами, диапазонами, ячейками и др. — Глава 14. Документы Calc. Некоторые вещи "слегка упоминаются", но в принципе в этой книге практически всё есть

Tin

Цитата: rami от 27 января 2016, 20:27Некоторые вещи "слегка упоминаются", но в принципе в этой книге практически всё есть

Спасибо) Значит нужно почитать внимательней)

JohnSUN

#19
Да, Питоньяк это что-то с чем-то! Только у меня есть предложение: не пытайся его читать от корки до корки последовательно, как учебник. Делай так, как rami сказал - находи по оглавлению или просто поиском по каким-то ключевым словам кусок, который тебе вот прямо сейчас нужен для работы, копируй код к себе, читай пояснения, запускай, убеждайся, что всё работает, пиши дальше... На очередном затыке опять открывай Питоньяка и опять ищи подходящий листинг...
Ну, и здесь вопросы задавай: чем сможем - поможем.

А вот тот примерчик, который пообещал.

Update: ачепятку в слове Arrray исправил и немного дополнил текст примера подробностями
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

Tin

Цитата: JohnSUN от 27 января 2016, 20:49Делай так, как rami сказал - находи по оглавлению или просто поиском по каким-то ключевым словам кусок, который тебе вот прямо сейчас нужен для работы, копируй код к себе, читай пояснения, запускай, убеждайся, что всё работает, пиши дальше... На очередном затыке опять открывай Питоньяка и опять ищи подходящий листинг...

Так и делала) Просто я как-то не сразу сориентировалась в названиях)


Цитата: JohnSUN от 27 января 2016, 20:49А вот тот примерчик, который пообещал.

Не хочет работать( Конвертируется, запускается, а ошибку выдает.

rami

Я предпочитаю элементы управления не в самом листе, а в диалоговом окне, — они нужны одноразово, а не всё время перед глазами :o

Tin

Цитата: rami от 27 января 2016, 21:24Я предпочитаю элементы управления не в самом листе, а в диалоговом окне, — они нужны одноразово, а не всё время перед глазами

Ну да, так удобнее) Впрочем, в моем случае не принципиально)

rami

#23
Цитата: Tin от 27 января 2016, 21:23Не хочет работать( Конвертируется, запускается, а ошибку выдает.
В строке кода dDoc = OpenDocument(ConvertToURL(dFName), Arrray()) ' Открыть файл с именем dFName
в слове Arrray лишняя буква r

Есть ещё такое слово

Tin


Цитата: rami от 27 января 2016, 21:33В строке кода
Код:
   dDoc = OpenDocument(ConvertToURL(dFName), Arrray())   ' Открыть файл с именем dFName
в слове Arrray лишняя буква r

Большое спасибо! Поправила, теперь работает)))

Цитата: JohnSUN от 27 января 2016, 20:49А вот тот примерчик, который пообещал.

Огромнейшее спасибо за помощь! Дальше постараюсь справится сама)