Excel VBA Blog

2016-02-02

Excel ‘de kullanıcı kontrollerini gizleme

Filed under: Excel, VBA — Etiketler:, , , , , , , — dutali @ 1:30 am

Bu yazıyı exceltr.net altında okumak için  tıklayın


Bu yazıda exccel’i excel olmaktan çıkaracağız. Excel in kullanıcının erişmesini istemyebileceğiniz bazı bileşenlerini kapatacağız, bazı bileşenleri görünmez hale getireceğiz

İlk iş olarak aşağıdaki ekran görüntüsünde işaretli bileşenleri gizleyeceğiz. Bunların bir kısmını menü üzerinden gizleyebilirsiniz. Bazılarını ( kaydırma çubukları gibi) gizlemek için bir menü bulunnmaz. bunlar için VBA zorunlu. VBa kullanmadan gizlenebileceklerin menüden nasıl gizleneceği (pek ilginizi çekmese de konu bütünlüğü açısından) gizlenecek

 

İlk olarak kaydırma çubuklarından (scroll bar) başlayalım . Dikey ve yatay kaydırma çubukları gereksizse gizleyebiliriz. Örnek olarak şu sayfaya  bakalım

 

image

 

 

Şimdi dikey veyatay kaydırma çubuklarını yokedelim. Bunu gizleyecek bir menü seçeneği yok. VBA ya başvuralım

Şu kodu bir VBA modülü açıp içine ekleyin ve çalıştırın

Sub kontrolGizle()
”Dikey kaydırma çubuğunu gizler
ActiveWindow.DisplayVerticalScrollBar = False

”Yatay kaydırma çubuğunu gizler
ActiveWindow.DisplayHorizontalScrollBar = False
End Sub

Sonuç;

image

 

Şimdi menüler ile yapabileceklerimizi görelim;

Formül çubuğu, başlıklar, kılavuz çizgileri

Şeritte Görünüm seçili iken ekran görüntüsünde gördüğümüz seçenekler ile bunları kapatabiliriz

 

image

 

Aynı şeyi VBA ile yapmak için fonksiyonumuza şunları eklememiz gerekir

 

Application.DisplayFormulaBar = False
ActiveWindow.DisplayHeadings = False
ActiveWindow.DisplayGridlines = False

 

 

Dikkat! Formül çubuğunu gizlemek için Application sınıfını , kaydırma çubukları, başlıklar ve kılavuz çizgilerini gizlemek için ise  ActiveWindow sınıfını kullandık. Bu sebeple de aynı excel instance ı ile açılmış  ( eğer ikinci kere excel uygulamasını elle açmadı iseniz aynı isntance olacaktır) tüm açık excel dosyalarında formül çubuğu gizli olacak.

Diğer kapattığımız bileşenler çalışam sayfası( dosya) bazlı ya da sekme bazlı. Başlılar ve kılavuz çizgileri sadece aynı sekmede gizlenmiş olurken, kaydırma çubukları aynı çalışma kitabındaki tüm sekmelerde gizlenmiş olur

 

Çalışma sayfasının son hali şöyle

image

 

Sekme çubuğunu da gizleyelim. Bunun için de VBA koduna girmemiz gerekir

Şu satırı prosedür ile çağırın

ActiveWindow.DisplayWorkbookTabs = False

 

Durum çubuğunu gizlemek için ise

 

Application.DisplayStatusBar = Not Application.DisplayStatusBar

 

Sayfamızın son hali;

image

 

 

Şimdi sıra geldi şeride ( Excel 2003 sonrasında şerit var. Öncesinde menü. bu kod Excel 2003 sonrası için ). Onu gizleme kodu diğerlerinden biraz farklı

Application.ExecuteExcel4Macro “Show.ToolBar(“”Ribbon””,False)”

 

Son görüntü içinde bir rapor görünen dikdörtgen bir kutu

image

 

 

 

Şimdi yazdıklarımızı toparlayalım

 

Sub kontrolGizle()
” Dikey kaydırma çubuğunu gizler
ActiveWindow.DisplayVerticalScrollBar = False

” Yatay kaydırma çubuğunu gizler
ActiveWindow.DisplayHorizontalScrollBar = False

” Formül çubuğunu gizler
Application.DisplayFormulaBar = False

” Başlıkları gizler
ActiveWindow.DisplayHeadings = False

” Kılavuz çizgilerini gizler
ActiveWindow.DisplayGridlines = False

” Sekme çubuğunu gizler
ActiveWindow.DisplayWorkbookTabs = False

”Durum çubuğunu gizler
Application.DisplayStatusBar = False
”Şeridi gizler
Application.ExecuteExcel4Macro “Show.ToolBar(“”Ribbon””,False)”
End Sub

Buraya kadar tamam da bir de bunu geri alması var.Excel hep böyle kalsın istemiyorsak tabii. Onu da özetle şöyle verelim

 

 

Sub kontrolGoster()
” Dikey kaydırma çubuğunu gösterir
ActiveWindow.DisplayVerticalScrollBar = True

” Yatay kaydırma çubuğunu gösterir
ActiveWindow.DisplayHorizontalScrollBar = True

” Formül çubuğunu gösterir
Application.DisplayFormulaBar = True

” Başlıkları gösterir
ActiveWindow.DisplayHeadings = True

” Kılavuz çizgilerini gösterir
ActiveWindow.DisplayGridlines = True

” Sekme çubuğunu gösterir
ActiveWindow.DisplayWorkbookTabs = True

”Durum çubuğunu gösterir
Application.DisplayStatusBar = True

”Not Application.DisplayStatusBar

”Şeridi gösterir
Application.ExecuteExcel4Macro “Show.ToolBar(“”Ribbon””,True)”
End Sub

 

 

Görüşmek üzere

WordPress.com'da Blog Oluşturun.