Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Basic / VBA


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Basic/VBA

Выпуск № 116
от 18.09.2005, 11:34

Администратор:Калашников О.А.
В рассылке:Подписчиков: 108, Экспертов: 13
В номере:Вопросов: 2, Ответов: 2


Вопрос № 26229: Здравствуйте, уважаемые эксперты! Вопрос только слегка касается VBA, извините, если не совсем в тему. Месячная отчетность и статистика учреждения обрабатывается в файле Экселя. В нем же работает много макросов (если хотите - VBA-программ). Дл...
Вопрос № 26234: Уважаемые! Подскажите плз, как увидеть в объекте OLE какую-либо другую страницу внедренного в него документа Word, не открывая Word в редакторе, т.е. не активировав сам Word? Пока загружается только первая страница, да и то криво (отступы по краям ст...

Вопрос № 26.229
Здравствуйте, уважаемые эксперты!
Вопрос только слегка касается VBA, извините, если не совсем в тему.
Месячная отчетность и статистика учреждения обрабатывается в файле Экселя. В нем же работает много макросов (если хотите - VBA-программ). Для удобства неподготовленных пользователей запуск почти всех макросов обеспечивается кнопками на специально созданной панели инструментов. По окончании месяца файл с данными текущего месяца (t.xls) переименовывается (например 08_2005.xls), а первоначальный файл снова используется для ввода текущих данных.
Вот с этого момента и начинается проблема. При переименовании файла вручную через меню "Файл-Сохранитькак" Экселем автоматически изменяются все ссылки на кнопках выше упомянутой панели инструментов. После такого переименования Эксель запускает макросы не текущего файла (t.xls), а того, на который ссылается кнопка (т.е. последнего переименованного файла).
При переименовании в макросе командой Workbooks("t.xls").SaveAs... происходит то же самое.
Была попытка создавать копию файла из макроса командой FileCopy, но копия файла не создается при открытом файле, а при закрытии файла закрывается и перестает выполнятся и сам макрос :-)))
На сегодняшний день переименование файла производится вручную из любого менеджера файлов, что весьма неудобно, но менять ссылки на двух десятках кнопок еще неудобнее. Если кто знает, подскажите, как запретить Экселю изменять ссылки на панели инструментов (даже невидимой) при изменении имени файла средствами Экселя. А может у кого есть другое решение?
Отправлен: 12.09.2005, 21:07
Вопрос задал: pwg (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Волков, Виктор, Алексеевич
Здравствуйте, pwg!
Несовсем понял, зачем это необходимо, просто создайте базу данных, а в таблице с Вашими формулами, делайте выбору по дате.
Если Вам предстоит решить именно эту задачу, тогда:
1. t.xls с написанными формулами и макросами оставте в покое.
2. Создайте новую книгу и назовите Ввод.xls
3. Cоздайте формулу (ссылку) ='C:Documents and SettingsАдминистраторМои документы[t.xls]Лист1'!A1 в ячейке A1 и скопируйте во всех ячейках, где есть формулы и текст. Получится почти копия книги t.xls.(если формула- то надо использовать в сочитании с функцией ФОРМАТ и т.п.)
4. Заблокируйте ссылки, а места ввода, для ясности покрасте желтым фоном.
5. Теперь Вы всегда загружаите книгу Ввод.xls, а записываите как Вам угодно.

Ответ отправил: Волков, Виктор, Алексеевич (статус: 1-ый класс)
Отправлен: 13.09.2005, 10:47


Вопрос № 26.234
Уважаемые! Подскажите плз, как увидеть в объекте OLE какую-либо другую страницу внедренного в него документа Word, не открывая Word в редакторе, т.е. не активировав сам Word? Пока загружается только первая страница, да и то криво (отступы по краям страницы урезаются)... И можно ли через OLE выполнять макросы VBA применительно к внедренному в него документу Word (если можно, то как?)? Желательно без дублирования объектной переменной...
Спасибо!

P.s.: Может кто предложит альтернативный способ показа документа Word на форме (без возможности редактирования, но с просмотром страниц и обновлением)?
Отправлен: 12.09.2005, 22:10
Вопрос задал: Rojohn (статус: 7-ой класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Волков, Виктор, Алексеевич
Здравствуйте, Rojohn!
Есть много способов, но если Вы пользуитесь OLE, то проще и почти тоже самое:
Зайдите в МЕНЮ, ПРОЕКТ, КОМПОНЕНТЫ, ВСТАВЛЯЕМЫЕ ОБЪЕКТЫ и найдите в списке Microsoft Word, поставтье галочку и OK.
У Вас появится новая кнопка в General, пользоватья также как и OLE, только проще и сразу.
Если Вас это неустраивает, дам более ... совет (как будет по свободнее со временем) - но по почте т.к. в рассылке нельзя вложить файлы и библиотеки.
Ответ отправил: Волков, Виктор, Алексеевич (статус: 1-ый класс)
Отправлен: 13.09.2005, 12:46
Оценка за ответ: 5
Комментарий оценки:
Я уже пробовал вставлять документ Word, но не понял как им пользоваться, т.к. у него мало свойств... Просьба, напишите пожалуйста мне на rojohn@yandex.ru как подключать этот элемент к определенному документу, как пролистывать страницы этого документа без активации самого Word, как выполнять макросы VBA для этого документа? Или, если есть альтернатива, то опишите и её... Спасибо! Жду письма...


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.

Яндекс


Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.basicvba
Отписаться
Вспомнить пароль

В избранное