Excel Harici Açık Tüm Pencereleri Simge Durumuna Küçültmek

Katılım
19 Eylül 2012
Mesajlar
322
Excel Vers. ve Dili
2010 türkçe
Değerli üstatlar bir konuda yardımınıza ihtiyacım var.

Userform üzerinde bir butona basarak o anda açık olan klasör ve web tarayıcı pencerelerini (userform haricindeki) Simge durumuna küçültebilir miyiz?
 

Trilenium

Destek Ekibi
Destek Ekibi
Katılım
16 Eylül 2008
Mesajlar
1,289
Excel Vers. ve Dili
Microsoft Office 2019 English
bir tane module ekleyip içine aşağıdakileri yazın.


Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Declare PtrSafe Function ShowWindow Lib "user32" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long
Declare PtrSafe Function EnumWindows Lib "user32" (ByVal lpEnumFunc As LongPtr, ByVal lParam As Long) As Long
Declare PtrSafe Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Declare PtrSafe Function IsWindowVisible Lib "user32" (ByVal hWnd As Long) As Long

Const SW_MINIMIZE = 6

Function EnumWindowsProc(ByVal hWnd As Long, ByVal lParam As Long) As Long
Dim buf As String * 255
Dim title As String

If IsWindowVisible(hWnd) Then
GetWindowText hWnd, buf, Len(buf)
title = Left$(buf, InStr(buf, vbNullChar) - 1)
If title <> "" And Not title Like "*Excel*" Then
ShowWindow hWnd, SW_MINIMIZE
End If
End If
EnumWindowsProc = 1
End Function

Sub MinimizeAllWindows()
EnumWindows AddressOf EnumWindowsProc, 0
End Sub



Bir düğme ekleyip


Private Sub CommandButton1_Click()
MinimizeAllWindows
End Sub
 
Katılım
19 Eylül 2012
Mesajlar
322
Excel Vers. ve Dili
2010 türkçe
bir tane module ekleyip içine aşağıdakileri yazın.


Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Declare PtrSafe Function ShowWindow Lib "user32" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long
Declare PtrSafe Function EnumWindows Lib "user32" (ByVal lpEnumFunc As LongPtr, ByVal lParam As Long) As Long
Declare PtrSafe Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Declare PtrSafe Function IsWindowVisible Lib "user32" (ByVal hWnd As Long) As Long

Const SW_MINIMIZE = 6

Function EnumWindowsProc(ByVal hWnd As Long, ByVal lParam As Long) As Long
Dim buf As String * 255
Dim title As String

If IsWindowVisible(hWnd) Then
GetWindowText hWnd, buf, Len(buf)
title = Left$(buf, InStr(buf, vbNullChar) - 1)
If title <> "" And Not title Like "*Excel*" Then
ShowWindow hWnd, SW_MINIMIZE
End If
End If
EnumWindowsProc = 1
End Function

Sub MinimizeAllWindows()
EnumWindows AddressOf EnumWindowsProc, 0
End Sub



Bir düğme ekleyip


Private Sub CommandButton1_Click()
MinimizeAllWindows
End Sub
Hocam çok teşekkür ederim işime çok yaradı. Ancak atladığım küçük bir ayrıntı var; useform açık iken ekcel gizli olduğu için sadece mesaj kutusunu öne çıkarıyor ama userform yine simgede duruyor. Yani işlem bittikten sonra tüm pencereleri simgeye indirirken userformu da simgeye indiriyor.
 
Üst