0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
|
||||||
1 | ||||||
Корректное закрытие файла xl и выгрузка из памяти ПК04.07.2017, 11:22. Показов 10353. Ответов 30
Метки нет (Все метки)
Доброго дня всем! подскажите пожалуйста, какая строка практичнее будет и эффективнее для закрытия файла xl, что бы не висел в памяти ПК: задача такова, что бы закрывать конкретную книгу но не всегда это получает:
0
|
04.07.2017, 11:22 | |
Ответы с готовыми решениями:
30
Выгрузка из памяти (Закрытие программы) Корректное закрытие файла Excel Корректное закрытие Excel Корректное закрытие Excel |
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
|
||||||
11.07.2017, 12:00 [ТС] | 21 | |||||
Да но и этой переменной в вашем коде нет:
Добавил переменную и пришлось добавлять еще кое что что бы открывалась книга без них выдавало много ошибок:
0
|
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
|
|
11.07.2017, 12:04 [ТС] | 22 |
ругается чуть ли ни на все строки
0
|
185 / 183 / 31
Регистрация: 11.10.2016
Сообщений: 599
|
|||||||||||
12.07.2017, 10:20 | 23 | ||||||||||
смотрите, все эти переменные - они есть в структуре ExTableType. То есть, мы пишем Public ExTable As ExTableType и потом к этим полям структуры обращаемся через With
Посмотрел код из присланного архива. Вы там точечки забыли. Попробуйте переписать код вот так:
1
|
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
|
||||||||||||||||
12.07.2017, 15:49 [ТС] | 24 | |||||||||||||||
Теперь я понял что вы хотели сказать этим МЕНЯ УСТРАИВАЕТ! НО вот что делать с тем когда я проверяю открыта ли книга а делаю я так:
с проверкой определился! только вот ругается на строку:
все таки если файл открыт то все равно ругается на строку
0
|
185 / 183 / 31
Регистрация: 11.10.2016
Сообщений: 599
|
|
12.07.2017, 16:34 | 25 |
ASSEI, давайте попробуем всё по порядку. Итак, вы запускаете ваш VB-проект, Эксель не запущен, никакая его копия при этом в памяти не висит. Вы открываете книгу, возможно, что-то вносите в нее, потом закрываете и Эксель на момент закрытия ругается?
Кстати, можно попробовать виртуальную копию Экселя сделать видимой. Попробуйте что-то, типа, ExTable.oExcel.Visible = True. Кстати, не знаю почему, но при ручном открытии вашего DOC.xlsx Эксель этот файл преобразует и открывает "только для чтения" в виде Xl00000011.xls. Может быть, в этом "корень зла"? (:
0
|
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
|
||||||
12.07.2017, 16:56 [ТС] | 26 | |||||
вот в таком порядке все работает нормально даже сторонние книги которые не относятся к проекту, нормально работают! ПРОЕКТ НЕ РУГАЕТСЯ.
Этот момент НЕ совсем ваша формулировка мне понятна! Но дело обстоит так: если с разу изначально открыть в ручную фай "DOC" то при запуске проекта будет ругаться строка
0
|
185 / 183 / 31
Регистрация: 11.10.2016
Сообщений: 599
|
||||||
12.07.2017, 17:10 | 27 | |||||
попробуйте пошагово через F8 запустить такой код даже при запущенном Экселе с уже открытым файлом DOC.xlsx.
Как вы видите, свойство ReadOnly покажет, что файл открыт в этом режиме, а значит эта книга уже открыта в другой копии Экселя. Чтобы ее закрыть вам надо, скорей всего, воспользоваться API-функциями, найти в памяти уже запущенную копию Экселя, найти окна им открытые и нужное окно закрыть через SendMessage
0
|
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
|
||||||
12.07.2017, 17:39 [ТС] | 28 | |||||
ВОТ НА СТРОКУ РУГАЕТСЯ
Добавлено через 6 минут ЗАКОМЕНТИРОВАЛ ЕЕ , СРАБОТАЛО
0
|
185 / 183 / 31
Регистрация: 11.10.2016
Сообщений: 599
|
|
12.07.2017, 17:43 | 29 |
0
|
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
|
||||||
13.07.2017, 13:28 [ТС] | 30 | |||||
_shark
0
|
16.07.2017, 20:31 | 31 |
ASSEI, может, потому что числовая константа имеет тип "Строка"?
P.S. Вообще, неплохо было бы озвучивать название ошибок. Обычно, там и находится ответ.
0
|
16.07.2017, 20:31 | |
16.07.2017, 20:31 | |
Помогаю со студенческими работами здесь
31
DataReport - корректное закрытие объекта Корректное закрытие книги Excel Корректное закрытие дополнительного потока Корректное закрытие окна Excel Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |