Userform ilk açılırken Tam ekran modunda açılması

asdsxx

Altın Üye
Katılım
22 Mayıs 2012
Mesajlar
491
Excel Vers. ve Dili
Excel 2016 Türkçe
Altın Üyelik Bitiş Tarihi
20-02-2025
Arkadaşlar userForm ilk açılışta tam ekran olarak açılabilmesi için interneti gezinirken aşağıdaki kodlar ile
Formu bir noktaya kadar geldim ama ilk açılışta full olarak gelmiyor. Ben aşağıdaki ekran görüntüsü şeklinde gelmesini istiyorum.
Kod

Kod:
Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare PtrSafe Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _
(ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare PtrSafe Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _
(ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare PtrSafe Function ShowWindow Lib "user32" _
(ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Declare PtrSafe Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long

Private Sub UserForm_Activate()
 Dim hWndForm As Long, frmStyle As Long
  hWndForm = FindWindow(vbNullString, Me.Caption)
  frmStyle = GetWindowLong(hWndForm, (-16))
  frmStyle = frmStyle Or &H80000 Or &H20000 Or &H10000
  SetWindowLong hWndForm, (-16), frmStyle
  ShowWindow hWndForm, 5
  DrawMenuBar hWndForm
End Sub
Form: aşağıdaki şekilde açılıyor
246097

Yukarıdaki koda aşağıdaki şekilde açılması için nasıl bir ekleme gerekiyor.

246096
Not: Bunu ekranı büyüklüğü farklı bilgisayarlarda hep ekrana sığması ve tam ekran olması için yapıyorum.
 

Ekli dosyalar

Katılım
20 Ekim 2021
Mesajlar
104
Excel Vers. ve Dili
TR 2016
Altın Üyelik Bitiş Tarihi
21-10-2022
Arkadaşlar userForm ilk açılışta tam ekran olarak açılabilmesi için interneti gezinirken aşağıdaki kodlar ile
Formu bir noktaya kadar geldim ama ilk açılışta full olarak gelmiyor. Ben aşağıdaki ekran görüntüsü şeklinde gelmesini istiyorum.
Kod

Kod:
Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare PtrSafe Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _
(ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare PtrSafe Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _
(ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare PtrSafe Function ShowWindow Lib "user32" _
(ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Declare PtrSafe Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long

Private Sub UserForm_Activate()
Dim hWndForm As Long, frmStyle As Long
  hWndForm = FindWindow(vbNullString, Me.Caption)
  frmStyle = GetWindowLong(hWndForm, (-16))
  frmStyle = frmStyle Or &H80000 Or &H20000 Or &H10000
  SetWindowLong hWndForm, (-16), frmStyle
  ShowWindow hWndForm, 5
  DrawMenuBar hWndForm
End Sub
Form: aşağıdaki şekilde açılıyor
Ekli dosyayı görüntüle 246097

Yukarıdaki koda aşağıdaki şekilde açılması için nasıl bir ekleme gerekiyor.

Ekli dosyayı görüntüle 246096
Not: Bunu ekranı büyüklüğü farklı bilgisayarlarda hep ekrana sığması ve tam ekran olması için yapıyorum.
Kod:
Private Sub UserForm_Initialize()
    Me.StartUpPosition = 0
    Me.Top = 0
    Me.Left = 0
    Me.Width = Application.Width
    Me.Height = Application.Height
End Sub
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Aşağıdaki linke bakın bir de...


.
 

asdsxx

Altın Üye
Katılım
22 Mayıs 2012
Mesajlar
491
Excel Vers. ve Dili
Excel 2016 Türkçe
Altın Üyelik Bitiş Tarihi
20-02-2025
Aşağıdaki linke bakın bir de...


.
Haluk Bey sizin verdiğiniz linkteki kodu "initialize" kısmına kodu yapıştırınca Form tam ekran oluyor ama formda sadece kapat düğmesi kalıyor.
Murat Fidan'ın kodunu forma eklediğimde Form tam ekran'mış gibi görünmesine rağmen benim eklediğim ilk resimdeki şekli alıyor.
Ben ikinci eklediğim resimdeki gibi yani pencerenin sağ üst köşesindeki kare simgesine tıklatınca oluşan şekilde
246101
olmasını istiyorum.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Tam anlamadım ama aşağıdaki kırmızı renkli değişikliği yapıp, dener misiniz?

Rich (BB code):
ShowWindow hWndForm, 3
.
 

asdsxx

Altın Üye
Katılım
22 Mayıs 2012
Mesajlar
491
Excel Vers. ve Dili
Excel 2016 Türkçe
Altın Üyelik Bitiş Tarihi
20-02-2025
Tam anlamadım ama aşağıdaki kırmızı renkli değişikliği yapıp, dener misiniz?

Rich (BB code):
ShowWindow hWndForm, 3
.
Haluk Bey istediğim şey bu idi teşekkürler...

Yalnız bunu 32 bit ve 64 bit ile uyumlu olabilmesi için sanırım ek bir kod mu gerekiyor.
aşağıdaki örnek dosyada Form4 tıpkı benim istediğim olan Form1' in açılış şeklinde olması için başlangıç koduna uyumlu bir kod nasıl yazılabilir?
Form4 hata veriyor. tıpkı Form1 gibi açılacak fakat Form4'ün "UserForm_Activate" ve "UserForm_Initialize" kodları "Declarations" kısmındaki kod ile uyumlu olması gerekiyor
 

Ekli dosyalar

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Calisir...

.
 

asdsxx

Altın Üye
Katılım
22 Mayıs 2012
Mesajlar
491
Excel Vers. ve Dili
Excel 2016 Türkçe
Altın Üyelik Bitiş Tarihi
20-02-2025
Haluk Bey size bir sorum daha olacak Yardımcı olursanız çok sevinirim
Excel çalışma kitabının açılışta Tam ekran formatında açılabilmesi için "Thisworkbook" içine veya "Modül" içine yazılabilecek bir kod olur mu?
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
ThisWorkbook modülüne;

Kod:
Private Sub Workbook_Open()
    UserForm1.Show
End Sub
.
 

ulutanas

Altın Üye
Katılım
8 Kasım 2008
Mesajlar
578
Excel Vers. ve Dili
Excel Vers. ve Dili Ofis 2021 TR 32 Bit
Altın Üyelik Bitiş Tarihi
süresiz üye
Haluk hocam merhaba,

Private Sub UserForm_Activate()
Dim hWndForm As Long, frmStyle As Long
hWndForm = FindWindow(vbNullString, Me.Caption)
frmStyle = GetWindowLong(hWndForm, (-16))
frmStyle = frmStyle Or &H80000 Or &H20000 Or &H10000
SetWindowLong hWndForm, (-16), frmStyle
ShowWindow hWndForm, 3
DrawMenuBar hWndForm
End Sub

ben bu kodu denediğimde kırmızı renkli kısımda hata veriyor.
 

asdsxx

Altın Üye
Katılım
22 Mayıs 2012
Mesajlar
491
Excel Vers. ve Dili
Excel 2016 Türkçe
Altın Üyelik Bitiş Tarihi
20-02-2025
Haluk hocam merhaba,

Private Sub UserForm_Activate()
Dim hWndForm As Long, frmStyle As Long
hWndForm = FindWindow(vbNullString, Me.Caption)
frmStyle = GetWindowLong(hWndForm, (-16))
frmStyle = frmStyle Or &H80000 Or &H20000 Or &H10000
SetWindowLong hWndForm, (-16), frmStyle
ShowWindow hWndForm, 3
DrawMenuBar hWndForm
End Sub

ben bu kodu denediğimde kırmızı renkli kısımda hata veriyor.
Haluk Hoca Modül kısmına da ayrıca kod eklemiş. Onu da uyguladınız mı? Haluk Bey'in eklediği Örnek dosyada var
 

ulutanas

Altın Üye
Katılım
8 Kasım 2008
Mesajlar
578
Excel Vers. ve Dili
Excel Vers. ve Dili Ofis 2021 TR 32 Bit
Altın Üyelik Bitiş Tarihi
süresiz üye
Modül kısmına hiç dikkat etmemiştim. Teşekkürler...
 
Üst