powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Корректное закрытие excel из access vba
7 сообщений из 7, страница 1 из 1
Корректное закрытие excel из access vba
    #39096775
Mary_Rustle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите пожалуйста!
Дело такое, мне нужно сделать следующее: запустить макрос, написанный в excel на vba, а для этого нужно открыть данную книгу, но сделать выполнение макроса невидимым. Затем сохранить книгу. То есть сделать так, чтобы пользователь не заметил, что в экселе выполнялся макрос и его вообще открывали. После чего нужно выполнить импорт из той же книги Эксель в Аксесс. После чего я хочу полностью закрыть Эксель. Вот собственно код:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
   
    FullFilePath = "C:\Папка\Файл_09.xlsm"
    
    Dim app As Object
    Dim oBook As Object
    Set app = CreateObject("Excel.Application")
    Set oBook = app.workbooks.Open(FullFilePath)

    app.Run "diap" 'макрос в экселе
    
    oBook.Save   
    
    DoCmd.SetWarnings False
    DoCmd.RunSQL "DELETE Таблица1.* FROM Таблица1"
    DoCmd.TransferSpreadsheet acImport, , "Таблица1", FullFilePath, True, "Имя_диапазона"
    DoCmd.SetWarnings True
    MsgBox "Импорт успешно завешен"
    
    oBook.Close
    Set oBook = Nothing
    app.Quit
    Set app = Nothing


Объясните, почему на компе с операционкой XP никаких проблем после выполнения данной программки нет, а вот на компе с семеркой под конец вылетает следующее: ."Прекращена работа программы Excel". Видимо, я как-то некорректно завершаю работу с экселем

Как исправить косяк, чтобы и на семерке нормально функционировало?
...
Рейтинг: 0 / 0
Корректное закрытие excel из access vba
    #39096789
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
под конец - на какой конкретно строке?
попробуйте выполнить скрипт в видимом режиме. может эксель что-то неожиданное спросить хочет, да не может, его система и прибивает как зависший.
...
Рейтинг: 0 / 0
Корректное закрытие excel из access vba
    #39096793
Mary_Rustle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Antonariy,
Неправильно выразилась. Я имела ввиду, что после завершения работы программы, эксель ругается таким образом.
...
Рейтинг: 0 / 0
Корректное закрытие excel из access vba
    #39096821
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mary_Rustle,
Модератор: Учимся использовать тэги оформления кода - FAQ
...
Рейтинг: 0 / 0
Корректное закрытие excel из access vba
    #39096823
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если закрыть книгу и эксель сразу после сохранения, а потом выполнять импорт? или вообще не выполнять импорт?
...
Рейтинг: 0 / 0
Корректное закрытие excel из access vba
    #39096916
Bidgo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mary_Rustle,

Попробуйте так
oBook.Close SaveChanges:=False

Может после сохранения при обращении к книге Ексель считает, что произведены какие-то изменения.
В скрытом режиме сообщения об этом не видно. И Вин прибивает процесс, как и написал ранее Antonariy.
...
Рейтинг: 0 / 0
Корректное закрытие excel из access vba
    #39115275
Tuki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А попробуйте в начале процедуры вставить

Application.ScreenUpdating = False' отключение перерисовки экрана
Application.DisplayAlerts = False' отключение системных сообщений
а в конце процедуры
Application.ScreenUpdating = True
Application.DisplayAlerts = True
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Корректное закрытие excel из access vba
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]