Dosya simgesi

Msgbox Ekrandaki Konumu Değiştirme

Bu şablon, VBA'daki MsgBox uyarı penceresinin ekranda varsayılan yerinde değil, istenen konumda açılmasını sağlayan makro örneklerini içerir. Konum, hazır köşe/merkez seçenekleriyle ya da piksel cinsinden X ve Y koordinatlarıyla belirlenebilir.

Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir.

Dosyanın içeriği​

  • exceldestek.com | exceldepo.com: A1:G29 aralığındaki tek çalışma sayfasıdır; formül içermez.
  • MsgBox_X_Y modülü: MsgboxEx fonksiyonunu ve konum seçeneklerini içerir.
  • Module1: Koordinat vererek konumlandıran MsgBoxPos ve TestMsgBox yordamlarını içerir.
  • Module2: Excel penceresine göre sağ üst, sağ alt, sol üst ve sol alt konumlandırma örneklerini içerir.
  • Module3: form adlı yordam Test yordamını çağırır.

Makrolar​

  • MsgboxEx: Standart MsgBox ile aynı parametreleri alır, ek olarak Position parametresi kullanır. Position için eTopLeft, eTopRight, eTopCentre, eBottomLeft, eBottomRight, eBottomCentre, eCentreScreen ve eCentreDialog değerleri tanımlıdır; varsayılan değer eCentreScreen'dir. Penceresi açılırken bir CBT hook (SetWindowsHookEx) kurulur ve pencere SetWindowPos ile taşınır. Kodda eCentreDialog, eCentreScreen ve eBottomRight koşulları etkindir; diğer köşe koşulları yorum satırı durumundadır. Sol kenar ekran dışına taşarsa pencere ekran ortasına alınır.
  • ScreenWorkArea: Görev çubuğu hariç çalışma alanı ölçüsünü SystemParametersInfo ile alır.
  • TestMsgBox / MsgBoxPos: MsgBox'ı verilen X ve Y değerinde açar. Örnek çağrıda "Ekran Pozisyonu" iletisi 1100, 550 koordinatında gösterilir.
  • Module2 içindeki TopRight, BottomRight, TopLeft ve BottomLeft işlevleri, Excel ana penceresinin genişlik ve yüksekliğinin %10 veya %90'ına göre konum hesaplar. Bunları ShowMsgBoxTopRight, ShowMsgBoxBottomRight, ShowMsgBoxTopLeft ve ShowMsgBoxBottomLeft yordamları çağırır; yordamlar Private tanımlıdır, VBA düzenleyicisinden çalıştırılır.
  • FindMe: Module2 içinde yer alan ek yordamdır.
Kodlar Windows API işlevlerini (user32, kernel32) kullanır; dosya silme veya dışarıya bağlantı işlemi yapılmaz.

Nasıl kullanılır​

  1. Dosyayı açıp makroları etkinleştirin.
  2. Alt+F11 ile VBA düzenleyicisini açın.
  3. Hızlı deneme için Module1 içindeki TestMsgBox yordamında F5'e basın.
  4. Koordinatı değiştirmek için MsgBoxPos çağrısındaki 1100 ve 550 değerlerini düzenleyin.
  5. Kendi projenizde köşe veya merkez seçeneği için MsgBox_X_Y modülünü aktarıp MsgboxEx fonksiyonunu Position parametresiyle çağırın.
  6. Excel penceresine göre konumlandırma için Module2 içindeki ilgili ShowMsgBox yordamını çalıştırın.
Kodlar 32 bit Declare tanımlarıyla yazılmıştır; 64 bit Excel'de PtrSafe uyarlaması gerekebilir.

cakarem tarafından daha fazla dosya

Detaylar
Yazar
cakarem
İndirme
6
Gösterim
1,904
İlk sürüm
Güncel
SHA-256
e815dc37385f59c5af49e5d0ddf1501dca48cb7bf70f7174ce39ea1c07ab13fe

Puanlar

5.00 Oylama 1 İnceleme

En son değerlendirmeler

Dosyadan faydalandım, katkıda bulunanlara teşekkürler.
Geri
Üst