Закрытие Ms объектов, инстансы КОМ и пр.

Тема в разделе "OLE технологии", создана пользователем hosm, 25 авг 2010.

  1. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    Рецепт lmike.
    При работе через COM бывает необходимо закрывать приложения МСО...
    что бы не заставлять это делать пользователей ;), можно звать (для ворда, например):
    Код (Text):
    Sub CloseMSWord()
    On Error Goto ErrH
    Dim objs As Variant
    Dim strSQL As String
    Dim strWMI As String
    strWMI = "winmgmts:"
    strSQL = "Select * From Win32_Process "
    strSQL = strSQL & "where Name = 'WINWORD.EXE'"
    Set objs = GetObject(strWMI).ExecQuery(strSQL)
    Forall obj In objs
    obj.Terminate
    End Forall
    Quit:
    Exit Sub
    ErrH:
    Error Err, Error$ & " in " & GetThreadinfo(1) & " line " & Cstr(Erl)
    End Sub
    открытые файлы молча не сохранятся ;)
    грубо, но эффективно ;)
    Полезно при "зависших" процессах Excel или Word. (Когда у них .Visible=False)
     
  2. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    маленькая поправка (в моём варианте она не нужна была) - убрать resume
    поднятие ошибки подразумевает обработку выше (в вызывающем коде)
     
  3. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    невнимательная :) спасибо, убрала.
     
Загрузка...
Похожие Темы - Закрытие объектов инстансы
  1. lmike
    Ответов:
    11
    Просмотров:
    4.643
  2. k85
    Ответов:
    12
    Просмотров:
    892
  3. YGol
    Ответов:
    5
    Просмотров:
    1.246
  4. orion
    Ответов:
    8
    Просмотров:
    1.671
  5. azzza
    Ответов:
    3
    Просмотров:
    2.543

Поделиться этой страницей