|
|
|
Программное открытие файла Excel, внедренного в лист Excel
|
|||
|---|---|---|---|
|
#18+
Помогите, погуглил, не нашел ответа. У меня есть макрос, который раскидывает по техкарте расходы на статьи в отчет. В итоге я получаю файл в виде сгруппированной таблицы (около 25000 строк за год), каждая статья разворачивается сначало помесячно, потом каждый месяц на проводки. Сначало у отчета не было дополнительных функций, потом были дописаны макросы формирования из отчета других более подробных отчетов. Один из них разворачивает статью в отдельный файл в виде сводной таблицы + сразу строит графики динамики расходов по структурным подразделениям. Сейчас появилась мысль сделать полный анализ статьи коммунальных расходов по типам расходов (газ, вода, отопление) и подразделениям (строки - подразделения, столбцы - типы с помесячной разбивкой, с рейтингами, средними и т.п.) + автоматические графики. Буду делать следующим образом. У меня есть форма другого отчета, которую я отредактировал для нужд этого. Форма состоит из двух листов. Первый - сама форма, с вписанными ВПРами на диапазоны второго листа. Отчет формируется так - из базы получаю сводную таблицу, макросом начинаю перебирать значения нужного поля, и данные копировать в определенные места на втором листе формы, ВПРы на первом подтягивают то что нужно. При этом форма хранится отдельным файлом. Чтобы реализовать задуманное, мне нужно, чтобы форма была внутри файла, т.к. при отправке я не могу кидать два файла, многие не поймут, для чего второй файл, удалят, или из архива откроют и попытаются сформировать, а макрос выдаст ошибку. Добавил файлик с формой на лист Excel, а открыть его не могу. Запись макроса дает код, который не работает: ActiveSheet.Shapes("Object 1").Select Windows("Лист в test").Visible = True Selection.Verb Verb:=xlPrimary ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2010, 23:42 |
|
||
|
Программное открытие файла Excel, внедренного в лист Excel
|
|||
|---|---|---|---|
|
#18+
Melafon, Можно попробовать так: Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2010, 11:27 |
|
||
|
Программное открытие файла Excel, внедренного в лист Excel
|
|||
|---|---|---|---|
|
#18+
Djon Player, спасибо. На работе получилось по другому открыть, внедренная книга открывается комбинацией Ctrl + Enter, нашел в help метод SendKeys Код: plaintext 1. 2. 3. но это ничего не дало, к открытой книге не могу присвоить имя, чтобы обращаться, типа Set baza_7 = ActiveWindow вообще никак не получается управлять открытой книгой, а при переходе на другую, открытая книга закрывается. Решилось намного проще, переношу из исходного в отчетный файл одновременно форму и лист с данными, при этом ВПРы не сбиваются. По умолчанию поставил им свойства Visible = VeryHidden, обычные пользователи не догадаются о существовании этих двух скрытых листов, а это то что нужно)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2010, 23:34 |
|
||
|
Программное открытие файла Excel, внедренного в лист Excel
|
|||
|---|---|---|---|
|
#18+
Melafon, тоже часто использую верихидден, чтобы лист стал совсем невидимым. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2010, 16:56 |
|
||
|
Программное открытие файла Excel, внедренного в лист Excel
|
|||
|---|---|---|---|
|
#18+
Есть варинт использования вложенных файлов. Сам сделал таким образом установочный xls-файл. Вам только модуль с функцией или полностью рабочий пример? В кратце механизм такой: Метода VBA, который бы позволял бы вытащить влолженный файл в Excel' не существует. Поэтому делаем так, программно можно скопировать файл-объект в буфер, а потом средствами WinAPI вытащить его из буфера и сохранить на диск. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2010, 17:09 |
|
||
|
Программное открытие файла Excel, внедренного в лист Excel
|
|||
|---|---|---|---|
|
#18+
SergeySVМетода VBA, который бы позволял бы вытащить вложенный файл в Excel' не существует.Как это не существует, я-же выше привёл код, может меня не так поняли или я не так понял. Поэтому внедрил код сразу в файл Melafon - а: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2010, 00:04 |
|
||
|
Программное открытие файла Excel, внедренного в лист Excel
|
|||
|---|---|---|---|
|
#18+
Согласен, Verb хорошая команда, она правда только открывает оле-объект. В моему случае в xls-файл былы вложены несколько *.bmp и специфичных *.mac файлы, которые надо было просто сохранить на диск в определенную директорию - открывать и запускать эти файлы не надо было. Готового метода по сохранению на диск вложенных файлов в VBA не нашлось, пришлось идти через метод .Copy и дальше вытягивать его из буфера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2010, 11:33 |
|
||
|
Программное открытие файла Excel, внедренного в лист Excel
|
|||
|---|---|---|---|
|
#18+
Хмм... а так чем не подходит? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2010, 11:51 |
|
||
|
Программное открытие файла Excel, внедренного в лист Excel
|
|||
|---|---|---|---|
|
#18+
Hugo121Хмм... а так чем не подходит?Видимо потому, что речь уже не о вложенных документах офиса, а о картинках bmp и прочих, в этом случае код не прокатит, хотя не исключено, что и их можно сохранить как-то не использую буфера обмена. А с буфером обмена наверно можно копировать буфер и делать вставку куда-нибудь в Paint. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2010, 12:06 |
|
||
|
Программное открытие файла Excel, внедренного в лист Excel
|
|||
|---|---|---|---|
|
#18+
Да, Вы правы - не все файлы удобно открывать и сохранять собств. методами как это работает со вложенными офис-документами Виндузовский буфер обмена понимает, что такое файл и умеет его сохранять на диск. Например вы можете выделить любой вложенный файл, нажать пр.кнопкой мыши и выбрать команду - Копировать, а потом перейти в окно Проводник и выбрать команду - Вставить и файл появится у Вас в нужной директории. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2010, 12:13 |
|
||
|
|

start [/forum/topic.php?fid=61&fpage=170&tid=2178465]: |
0ms |
get settings: |
10ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
81ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 410ms |

| 0 / 0 |
