Последние записи
- TChromium (CEF3), сохранение изображений
- Как в Delphi XE обнулить таймер?
- Изменить цвет шрифта TextBox на форме
- Ресайз PNG без потери прозрачности
- Вывод на печать графического файла
- Взаимодействие через командную строку
- Перенести программу из Delphi в Lazarus
- Определить текущую ОС
- Автоматическая смена языка (раскладки клавиатуры)
- Сравнение языков на массивах. Часть 2
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
28th
Фев
Удалить процесс при закрытии книги, с проверкой (vba excel 2003)
Posted by obzor under VBA
На листе книги (excel 2003) есть кнопка с макросом, код которого приведен ниже (vba excel 2003). После щелчка по кнопке происходит копирование файла «форма.exe» с сервера во временную папку, после чего файл «форма.exe» запускается из этой временной папки.
Подскажите пожалуйста код (vba excel 2003), чтобы при закрытии книги, файл «форма.exe» из временной папки удалялся, если процесс «форма.exe» не выполняется (дело в том что у меня сейчас можно закрыть книгу, но приложение «форма.exe» может выполняться, т.е. еще не закрыто пользователем).
Sub Копировать(Optional x As Boolean)
Dim sFileName As String, sNewFileName As String
sFileName = "\\server\форма.exe"
sNewFileName = Environ("temp") & "\" & "форма.exe"
FileCopy sFileName, sNewFileName
Dim MyPath
MyPath = Shell(Environ("temp") & "\" & "форма.exe " & ThisWorkbook.FullName, 1)
End Sub
Так что надо?
Процесс завершить?
Если только удалить файл, если процесс завершен, — то всё проще некуда
(код — в модуль книги)
Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next: Kill Environ("temp") & "\" & "Форма.exe"
End Sub
(файл не удалится при запущенном процессе)
Если процесс «форма.exe» при закрытии книги еще выполняется, то отследить (что он запущен) можно так:
Function Cont_Proc() As Boolean
Dim Process As Object
For Each Process In GetObject("winmgmts:").ExecQuery("Select * from Win32_Process")
If Process.Caption Like "Форма*" Then Cont_Proc = True:Exit For
Next
End Function
Случайные статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)