Soru Userformu görev çubuğuna alma

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Dropboxa yüklemeyin.
Başka bir upload sitesine yükleyin.
Orada Download yazıyor ama neyi download edecek onu belirtmiyor.Bende çekindiğim için çalıştırmadım.
 
Katılım
5 Kasım 2006
Mesajlar
583
Excel Vers. ve Dili
TÜRKCE Excel 2021 32bit
Dropboxa yüklemeyin.
Başka bir upload sitesine yükleyin.
Orada Download yazıyor ama neyi download edecek onu belirtmiyor.Bende çekindiğim için çalıştırmadım.
Benim kullandığım bulut dosya saklama yeri Dropbox.5gb ye kadar beleş :)
Ve forum için dropboxa yüklememin sebebi dosyanın silinmemesi vs...
Ve internet sayfasının en üstünde ... var yanında dosya ismide yazıyor ve şekil olarakta çıkıyor exelin içeriği.
Yinede upload sitesine yüklerim.
Aslında bir userform ve içine bir buton eklerseniz ve koduda eklerseniz son verdiğim olanı aynı olay.
Benim pc başına geçmem biraz uzayabilir.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Denedim.
Bendede olmadı.:)
 

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 gibi bir kod bu işi görür....

UserForm'u gizler, ön izemeyi gösterir, siz ön izlemeyi kapatınca UserForm tekrar ortaya çıkar.

Kod:
Private Sub CommandButton1_Click()
    Me.Hide
    ActiveSheet.PageSetup.PrintArea = Range("A1:A100").Address
    ActiveWindow.SelectedSheets.PrintPreview
    Me.Show
End Sub
Koddaki yazdırma alanı (A1:A100) kısmını kendinize göre değiştirirsiniz...

.
 
Katılım
5 Kasım 2006
Mesajlar
583
Excel Vers. ve Dili
TÜRKCE Excel 2021 32bit
Aşağıdaki gibi bir kod bu işi görür....

UserForm'u gizler, ön izemeyi gösterir, siz ön izlemeyi kapatınca UserForm tekrar ortaya çıkar.

Kod:
Private Sub CommandButton1_Click()
    Me.Hide
    ActiveSheet.PageSetup.PrintArea = Range("A1:A100").Address
    ActiveWindow.SelectedSheets.PrintPreview
    Me.Show
End Sub
Koddaki yazdırma alanı (A1:A100) kısmını kendinize göre değiştirirsiniz...

.
Application.CommandBars.ExecuteMso ("PrintPreviewAndPrint")

Bu kod için userform gizlenip önizlemeden sonrada tekrar userform çıkmalı piyasaya Haluk hocam.
Normal önizleme kodu zaten sorun olmuyor.
Yani het iki önizleme farklı yerler.
 

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
Şimdi anladım ... ama tuhaf bir istek :)

.
 

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
UserForm'u minimize etmekte amacınız nedir?

.
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,344
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Ufak bir hatırlatma... Hide metodundan sonra Show metodu kullanıldığında Userform Activate olayı tekrar tetiklenir. Bu olayın altında da form şekillendiren kod satırları mevcut.
 
Katılım
5 Kasım 2006
Mesajlar
583
Excel Vers. ve Dili
TÜRKCE Excel 2021 32bit
UserForm'u minimize etmekte amacınız nedir?

.
18.mesajda normalde önizleme çıkınca userform minimize almalı yani tüm kaybolmadan çubukta görükmeliki yazdırınca tekrar userformu açabileyim ekrana.
 
Katılım
5 Kasım 2006
Mesajlar
583
Excel Vers. ve Dili
TÜRKCE Excel 2021 32bit
Ufak bir hatırlatma... Hide metodundan sonra Show metodu kullanıldığında Userform Activate olayı tekrar tetiklenir. Bu olayın altında da form şekillendiren kod satırları mevcut.
Application.CommandBars.ExecuteMso ("PrintPreviewAndPrint")
Bu kodu nasıl uyarlayabilirz hide ile show arasına?
 

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
O zaman sayfaya 2 tane buton koyun, Birincisi UserForm'u gizlesin ve yazdırma ekranını getirsin, işiniz bitince öbürünü tıklayın UserForm geri gelsin.

Olmuyor mu?

.
 
Katılım
5 Kasım 2006
Mesajlar
583
Excel Vers. ve Dili
TÜRKCE Excel 2021 32bit
Neyse ben vazgeçtim.
Sanırım sorumun cevabı yok.Olmadı kladik önizlemeyi kullanacağım.
Cevap yazan herkese teşekkürler.
 

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
Ya da; UserForm'un ShowModal özelliğini False yapın, bahsettiğiniz yazdırma ekranı geldiğinde UserForm'u kenara çekip, işlemlerinizi yapın.

Bunlar, API kullanmaktan daha basit çözümler.

.
 
Katılım
5 Kasım 2006
Mesajlar
583
Excel Vers. ve Dili
TÜRKCE Excel 2021 32bit
Ya da; UserForm'un ShowModal özelliğini False yapın, bahsettiğiniz yazdırma ekranı geldiğinde UserForm'u kenara çekip, işlemlerinizi yapın.

Bunlar, API kullanmaktan daha basit çözümler.

.
Öyle değilde hani userform aşağı inmiyor Api ilede minimize işareti çıkarttık diyelim ve o işarete basınca görev çubuğunda dursa tam olacak fakat denemeletimde o preview olayından görev çubuğundada görükmüyor ne hikmetse.
 

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
Görev çubuğunda ayrı bir ikon olarak görünmez, oradaki Excel grubunun içindedir. İmleci Excel grubunun üzerinde biraz bekletince görebilmeniz lazım.

.
 
Katılım
5 Kasım 2006
Mesajlar
583
Excel Vers. ve Dili
TÜRKCE Excel 2021 32bit
Görev çubuğunda ayrı bir ikon olarak görünmez, oradaki Excel grubunun içindedir. İmleci Excel grubunun üzerinde biraz bekletince görebilmeniz lazım.

.
Evet normalde görüküyor imleç ile zerine varınca fakat önizleme kodu eklenince görükmüyor.Sonra tekrar bir denerim.
 
Katılım
5 Kasım 2006
Mesajlar
583
Excel Vers. ve Dili
TÜRKCE Excel 2021 32bit
Application.CommandBars.ExecuteMso ("PrintPreviewAndPrint") bu kod çok gereksizmiş :)
Aslında showmodalı false yapınca sorun olmuyormuş lakin tekrar true yapmak için ayarlara girmek gerekiyor.
Sonuç olarak normal prientpreiew olayını kullanacağım.

Araştırırkende userform açıkken Showmodalı flase ve true yapan kodları buldum şansa buda Api :)
Umarım birilerine yarar kod.

Herkese kolay gelsin.


PHP:
#If VBA7 Then
  Private Declare PtrSafe Function EnableWindow Lib "user32" (ByVal hWnd As LongPtr, ByVal fEnable As Long) As Long
#Else
  Private Declare Function EnableWindow Lib "user32.dll" (ByVal hWnd As Long, ByVal fEnable As Long) As Long
#End If
 
Const Modal = 0, Modeless = 1
 
Private Sub CommandButton1_Click()
  EnableWindow Application.hWnd, Modeless 'False showModal
End Sub
 
Private Sub CommandButton2_Click()
    EnableWindow Application.hWnd, Modal 'True showModal
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
API kullanmak antibiyotik kullanmak gibidir .... Sadece ve sadece gerektiği zaman, gerektiği kadar kullanmak gerekir.

Fazlası, bünyeye (Excel'e) zarar verir....

.

İşte şimdi antibiyotiği gerekli dozda kullandınız, güzel oldu .... (y)

Gerçi, ShowModal özelliğini en başta False yaptıktan sonra tekrar True yapmaya neden ihtiyaç duyuyorsunuz, bilmiyorum..... Bence o işe de gerek yok.

.
 
Son düzenleme:
Üst