Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.05.2012, 00:11   #1
Radzhab
Пользователь
 
Регистрация: 30.03.2011
Сообщений: 30
Радость Как через макрос выгрузить excel

Как при закрытии Excel запустить макрос который будет удалять из памяти текущий процесс Excel
Radzhab вне форума Ответить с цитированием
Старый 01.05.2012, 00:56   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Перефразируйте свой вопрос.
А то получается Excel перед закрытием должен сделать контрольный выстрел себе.
Если у вас запущено несколько процессов,то должны знать хендл(HWND) того процесса,который надо ликвидировать.
Получить можно так
Код:
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, _
ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Public Sub GetExcelHWND()
     Dim hWndDesk As Long 'Windows handle
     hWndDesk = GetDesktopWindow
     Dim hWndXL As Long 'Excel handle
     Do
         hWndXL = FindWindowEx(GetDesktopWindow, hWndXL, "XLMAIN", vbNullString)
         If hWndXL <> 0 Then
    MsgBox hWndXL
         Else
             Exit Do
         End If
     Loop
 End Sub
Анализ,обработка данных Недорого

Последний раз редактировалось doober; 01.05.2012 в 01:15.
doober вне форума Ответить с цитированием
Старый 01.05.2012, 01:02   #3
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

если читать только заголовок вопроса то так: Application.Quit
а если почитать сообщение, то не понятно что Вы хотите...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 01.05.2012, 15:59   #4
Radzhab
Пользователь
 
Регистрация: 30.03.2011
Сообщений: 30
По умолчанию

Работаю с Excel с помощью c#. Открываю через c#. Когда хочу вручную закрыть Excel он "вроде закрывается", но в процессах висит в памяти
Radzhab вне форума Ответить с цитированием
Старый 01.05.2012, 16:41   #5
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Можно так
Код:
private void KillEXCEL()
{
	Process[] Processes = null;
	IntPtr hwnd = default(IntPtr);
	Processes = Process.GetProcessesByName("EXCEL");
	foreach (Process Proc in Processes) {
		hwnd = Proc.Id;
		if ((hwnd == null)) {
			Process.GetProcessById(hwnd).Kill();
		}
	}
}
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 02.05.2012, 09:41   #6
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
Можно так
так застрелит все активные процессы в памяти. А если параллельно висел открытый несохранённый годовой отчёт?

не знаю как в Си, но на Делфи тоже это был муторное занятие. очень уж они не любят корректно закрываться))
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 02.05.2012, 14:36   #7
slan
Форумчанин
 
Аватар для slan
 
Регистрация: 30.01.2008
Сообщений: 314
По умолчанию

да вроде не все..

другой вопрос - кто запустит этого киллера?
slan вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование данных из одного файла Excel в другой через макрос I.P.iX Microsoft Office Excel 0 31.05.2011 22:20
Выгрузить заголовки таблицы в Excel NZero Общие вопросы .NET 3 16.12.2010 09:11
как выгрузить разукрашенный DBGrid в EXCEL или в Word ГОСЕАН БД в Delphi 2 23.07.2009 03:53
Интересный макрос для создания писем в Outlook через Excel Neo007 Microsoft Office Excel 17 19.04.2009 20:44
не могу выгрузить сайт, pагружаю через filezilla alexxxx Помощь студентам 2 07.06.2008 17:39