![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 17.07.2008
Сообщений: 15
|
![]()
Возникла такая проблема и я, как начинающий, решения найти не могу, хотя оно, возможно, простое.
Имеется функция, которая открывает экселевский файл. Вот её код: Код:
1. Независимо от параметра HiddenMode рабочая книга Эксель всегда открывается в скрытом режиме. Хотя дальнейший код исправно берёт оттуда данные, записывает, сохраняет и закрывает книгу. Всё в порядке. В принципе, неважно, в каком режиме открывается книга, лишь бы читалась программой. А вдруг понадобится эта функция в другом случае, когда книга нужна не скрытая, да и вообще, хотелось бы знать, почему так происходит. 2. Если прервать выполнение кода и не закрыть Экселевскую книгу, она, естественно, остаётся открытой, но её не видно. И, если запустить код на выполнение, открывается ещё один экземпляр этой книги. В общем, в первый раз, когда я тестировал свой код, я на это не обращал внимания, потом комп завис и я увидел в диспетчере задач на вкладке "Процессы" штук 25-30 процессов EXCEL.EXE. И все скрытые, так как в том же диспетчере задач, на вкладке "Приложения" - ни одного Экселя! Так вот, как проверить в коде функции, не открыт ли уже запрашиваемый файл? Последний раз редактировалось ЯИмя; 12.08.2008 в 18:06. |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 21.08.2007
Сообщений: 292
|
![]()
Попробуйте
Код:
|
![]() |
![]() |
#3 |
Пользователь
Регистрация: 17.07.2008
Сообщений: 15
|
![]()
Большое спасибо, но всё равно не работает.
В любом случае, открыт ли файл или нет, моя функция (OpenData) открывает новый экземпляр файла, и опять же в скрытом режиме. Я сделал вот так: Код:
Почему так? Ведь в диспетчере задач виден Эксель, и код берёт с файла Эксель данные, то есть, ясно видно, что он открыт, но почему его не видит VB? И почему он, чёрт возьми, всегда открывается скрытым??? |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 06.03.2008
Сообщений: 352
|
![]()
У объекта Workbook нет свойства Hidden.
Попробуй после Set OpenData = XLApp.Workbooks.Open(Path & Name) вывести книгу в люди: OpenData.Windows(1).Visible = True |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 17.07.2008
Сообщений: 15
|
![]()
Всё правильно:
А у Excel.Application - есть. Всеобщими усилиями нашли такое решение: Код:
Код:
Последний раз редактировалось ЯИмя; 14.08.2008 в 08:57. |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Открытие формы | inret | Общие вопросы Delphi | 3 | 06.05.2008 14:37 |
Открытие файла | Messir_Leonard | Win Api | 2 | 09.04.2008 19:33 |
открытие файлов | Ensoph | Общие вопросы Delphi | 5 | 31.03.2008 20:45 |
«Открытие программирования» | Alesik | Общие вопросы по Java, Java SE, Kotlin | 0 | 13.09.2007 23:17 |
как перехватить открытие чужого приложенияпытаюсь перехватить открытие любого приложе | rpy3uH | Win Api | 2 | 02.12.2006 12:12 |