Страница: 1 | 2 |
Вопрос: Excel не выгружается! Помогите!
Добавлено: 16.02.06 21:32
Автор вопроса: shelte-don
У меня на компе установлен Excel 2003!
Я открываю файл и меняю в нем часть инф-ции!
Затем сохраняю и пытаюсь закрыть вот как:
Public ExApp As Excel.Application
........................
PutFile = Application.StartupPath
PutFile = Mid(PutFile, 1, Len(PutFile) - 4)
PutFile = PutFile & "\Files\Dvutavri.xls"
ExApp = CreateObject("Excel.Application")
ExApp.Workbooks.Open(Filename:=PutFile)
With ExApp
.Range("B3").Value = Bdv2
.Range("C3").Value = Hdv2
.Range("D3").Value = Tdv2
.Range("F3").Value = Sdv2
.Range("G3").Value = Rdv2
.SaveWorkspace()
End With
ExApp.Quit()
Все отрабатывает нормально, после этого в процессах все равно продолжает висеть EXCEL.EXE!
Как сделать так чтобы он закрывался и выгружался из процессов?
Заранее спасибо!
Ответы
Всего ответов: 24
Номер ответа: 1
Автор ответа:
AndreyMp
ICQ: 237822510
Вопросов: 28
Ответов: 1182
Профиль | | #1
Добавлено: 16.02.06 21:41
Блин, на работе сырцы все. Но клоцаць все надо.
Номер ответа: 2
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #2
Добавлено: 17.02.06 05:04
Видимым его сделай, сразу поймёшь, почему висит...
Потому что книга не сохранена... и сохранение рабочей области тут ни при чём...
Номер ответа: 3
Автор ответа:
shelte-don
Вопросов: 8
Ответов: 15
Профиль | | #3
Добавлено: 17.02.06 10:31
Сделал я видимым его! После сохранения рабочей области и выполнения Quit, excel закрывается! Весь!
А в процессах по прежнему множатся EXCEL.EXE!
Номер ответа: 4
Автор ответа:
the Pagan
ICQ: нет
Вопросов: 19
Ответов: 27
Web-сайт:
Профиль | | #4
Добавлено: 20.02.06 08:24
Попробуй так:
Dim xlApp As Object
Dim xlBook As Object
Dim xlSheet As Object
Set xlApp = CreateObject("Excel.Application"
Set xlBook = xlApp.Workbooks.Open(App.Path & "\Files\template.xls"
Set xlSheet = xlBook.Worksheets(1)
Ну и Save всё и Quit
Номер ответа: 5
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #5
Добавлено: 20.02.06 18:40
Нее, парни... тут не все так просто как кажется. Я где-то в инете видел инфу по поводу этого глюка. Там было подробно описано почему это происходит и как с этим бороться. Если кто найдет, отпишитесь плиз..
Номер ответа: 6
Автор ответа:
SerJ
Вопросов: 24
Ответов: 332
Профиль | | #6
Добавлено: 21.02.06 11:06
А про
Set xlBook=Nothing
Set xlApp=Nothing
забыли?
Номер ответа: 7
Автор ответа:
SerJ
Вопросов: 24
Ответов: 332
Профиль | | #7
Добавлено: 21.02.06 11:24
Обьекты то вы создали, а кто их удалять с памяти будет?
Ой,Павел, а что это у меня sabotagerule++ ?
Номер ответа: 8
Автор ответа:
shelte-don
Вопросов: 8
Ответов: 15
Профиль | | #8
Добавлено: 21.02.06 12:44
Спасибо за замечание я про это действительно забыл!
Вот только это не помогает! Все равно после каждого обращения в процессах появляется еще один Excel.Exe!
Что делать незнаю!
Номер ответа: 9
Автор ответа:
the Pagan
ICQ: нет
Вопросов: 19
Ответов: 27
Web-сайт:
Профиль | | #9
Добавлено: 21.02.06 13:46
Да, Nothing надо делать упустил!
Но только сия конструкция у меня работает и Excel в процессах не висит! Т.е. проблем нет!
WinXP SP1, VB6 SP6, Excel 2000
Номер ответа: 10
Автор ответа:
shelte-don
Вопросов: 8
Ответов: 15
Профиль | | #10
Добавлено: 21.02.06 15:46
Да вот я тоже Nothing делаю и все никак! Все висит в процессах и никак оттуда не уходит!
у меня Win XP Professional SP1, Microsoft Visual Studio .NET 2003 и Microsoft Excel 2003 и такая вот беда которую я никак не могу побороть!
Номер ответа: 11
Автор ответа:
SerJ
Вопросов: 24
Ответов: 332
Профиль | | #11
Добавлено: 21.02.06 17:52
Дайте мне полный код - скажу в чём гон. Это ж так просто :/
Номер ответа: 12
Автор ответа:
shelte-don
Вопросов: 8
Ответов: 15
Профиль | | #12
Добавлено: 21.02.06 22:35
Вот он полный код моей процедуры!
Public ExApp As Excel.Application
Public ExSh As Excel.Sheets
PutFile = Application.StartupPath
PutFile = Mid(PutFile, 1, Len(PutFile) - 4)
PutFile = PutFile & "\Uzli\Node20_Dv\dvutavr2_node20.xls"
ExApp = CreateObject("Excel.Application"
ExApp.Workbooks.Open(Filename:=PutFile)
With ExApp
.Range("B3".Value = Bdv2
.Range("C3".Value = Hdv2
.Range("3".Value = Tdv2
.Range("F3".Value = Sdv2
.Range("G3".Value = Rdv2
.SaveWorkspace()
End With
ExApp.Quit()
ExApp = Nothing
и после этого EXCEL.exe все еще в процессах
Номер ответа: 13
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #13
Добавлено: 22.02.06 04:58
Афигеть...
Мегакод...
Ответ №2 прочитай... внимательно... и прекрати сохранять рабочую область вместо сохранения книги...
Номер ответа: 14
Автор ответа:
SerJ
Вопросов: 24
Ответов: 332
Профиль | | #14
Добавлено: 22.02.06 12:53
Ха! А я и не увидил этот .SaveWorkspace()
Номер ответа: 15
Автор ответа:
shelte-don
Вопросов: 8
Ответов: 15
Профиль | | #15
Добавлено: 22.02.06 16:22
Код как код! никакой и ни МЕГА! кстати!
А по поводу сохранения рабочей области я скажу так похоже дело не в этом!
Ну убрал я .SaveWorkspace()!
Вставил вместо этого сохранение книги!
И ВСЕ РАВНО ВИСИТ в процессах EXCEL.EXE!