Çalışan Excel Uygulaması (excel.application) sayısını bulmak

Mahmut Kök

Özel Üye
Katılım
14 Temmuz 2006
Mesajlar
878
Excel Vers. ve Dili
Excel 2007 - Türkçe
Selam!

Gizli olanlar dahil, çalışır durumdaki excel uygulamalarının sayısını tespit edebileceğimiz bir kod arıyorum(Excel Çalışma kitabı değil). Yardımcı olabilecek arkadaşlara şimdiden teşekkür ederim. İyi çalışmalar.
 
Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
Aşağıdaki kodları ilgili linkteki konudan uyarladım.Sanırım istediğiniz çözüm.

Kod:
Option Explicit
 
Sub TerminateProcess()
     '---------------------------------------------------------------------------------------
     '              : Terminates a process. First checking to see if it is running or not.
     '              : Uses WMI (Windows Management Instrumentation) to query all running processes
     '              : then terminates ALL instances of the specified process
     '              : held in the variable strTerminateThis.
     '              :
     '              : ***WARNING: This will terminate a specified running process,use with caution!.
     '              : ***Terminating certain processes can effect the running of Windows and/or
     '              : ***running applications.
     '---------------------------------------------------------------------------------------
    Dim strTerminateThis As String 'The variable to hold the process to terminate
    Dim objWMIcimv2 As Object
    Dim objProcess As Object
    Dim objList As Object
    Dim intError As Integer
     
    strTerminateThis = "EXCEL.EXE" 'Process to terminate,
     'change notepad.exe to the process you want to terminate
     
    Set objWMIcimv2 = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\.\root\cimv2") 'Connect to CIMV2 Namespace
     
    Set objList = objWMIcimv2.ExecQuery _
    ("select * from win32_process where name='" & strTerminateThis & "'") 'Find the process to terminate
     
     
    If objList.Count = 0 Then 'If 0 then process isn't running
        MsgBox strTerminateThis & " is NOT running." & vbCr & vbCr _
        & "Exiting procedure.", vbCritical, "Unable to continue"
        Set objWMIcimv2 = Nothing
        Set objList = Nothing
        Set objProcess = Nothing
        Exit Sub
    Else
    MsgBox "Çalışan Excel Sayısı : " & objList.Count & " ", vbCritical + vbDefaultButton1 + vbOKOnly, "UYARI"
    End If
    
    Set objWMIcimv2 = Nothing
    Set objList = Nothing
    Set objProcess = Nothing
    Exit Sub
End Sub
http://www.vbaexpress.com/kb/getarticle.php?kb_id=811

....
 

Mahmut Kök

Özel Üye
Katılım
14 Temmuz 2006
Mesajlar
878
Excel Vers. ve Dili
Excel 2007 - Türkçe
Sayın Ripek, çok teşekkür ederim. Doğrusunu söylemek gerekirse, beklediğimden daha karmaşıkmış.

Benim asıl amacım, çalışan excel sayısını bulmakla sınırlı değil tabi ki. Programımı çalıştırdığımda, eğer birden fazla excel uygulaması çalışıyorsa, o anda faal olarak çalışan hariç, diğer excel uygulamalarını kapatmak. Yeni başlıkta bu soruma cevap arayacağım. İlgilenirseniz sevinirim, tekrar sağ olun.
 
Üst