Ana içeriğe geç Tamamlayıcı içeriğe geç

Dahili Makro Yorumlayıcısı

QlikView nesnelerine otomasyon aracılığıyla QlikView içinden yerleşik kodlama altyapısı ile erişilebilir.

Makroları Çağırma

Bir QlikView belgesi içinde, VBScript veya JScript ile yazılan makrolar birkaç farklı şekilde çağrılabilir:

Belge Olayları:

  • Makro, QlikView belgesi açıldıktan sonra çalıştırılabilir.
  • Makro, kod tekrar yürütüldükten sonra çalıştırılabilir.
  • Makro, Verileri Azalt komutunun ardından çalıştırılabilir.
  • Makro, belgedeki herhangi bir alanda yapılan seçim sonrasında çalıştırılabilir.
  • Makro, belgedeki herhangi bir değişkenin değeri değiştiğinde çalıştırılabilir.

Belge olaylarından çağrılan makrolar, Belge Özellikleri: Tetikleyiciler sayfasından oluşturulur.

Sayfa Olayları:

  • Makro, sayfa etkinleştirildikten sonra çalıştırılabilir.
  • Makro, sayfa devre dışı bırakıldığında çalıştırılabilir.

Sayfa olaylarından çağrılan makrolar, Sayfa Özellikleri: Tetikleyiciler sayfasından oluşturulur.

Sayfa Nesnesi Olayları:

  • Makro, sayfa nesnesi etkinleştirildikten sonra çalıştırılabilir.
  • Makro, sayfa nesnesi devre dışı bırakıldığında çalıştırılabilir.

Sayfa nesnesi olaylarından çağrılan makrolar, Sayfa Özellikleri: Tetikleyiciler sayfasından oluşturulur.

Düğme Olayları:

  • Düğme, makro düğmesi olarak tanımlanabilir.

Makro düğmesinden çağrılan bir makro, düğmenin Eylemler sayfasından oluşturulur.

Alan Olayları:

  • Makrolar, belirtilen bir alanda seçim yapıldığında çalıştırılabilir.
  • Makro, belirtilen alanla mantıksal olarak ilişkilendirilmiş herhangi bir alanda seçim yapıldığında çalıştırılabilir.
  • Makro, belirli alandaki seçimler kilitlendiğinde çalıştırılabilir.
  • Makro, belirli alandaki seçimlerin kilidi kaldırıldığında çalıştırılabilir.

Alan olaylarından çağrılan makrolar, Belge Özellikleri: Tetikleyiciler sayfasından oluşturulur.

Değişken Olayları:

  • Makro, belirtilen kod değişkenine doğrudan yeni değer girildiğinde çalıştırılabilir.
  • Makro, belirli bir değişkenin değeri diğer değişkenlerdeki veya belgenin mantıksal durumundaki değişikliklerin sonucu olarak değiştiğinde çalıştırılabilir.

Değişken olaylarından çağrılan makrolar, Belge Özellikleri: Tetikleyiciler sayfasından oluşturulur.

Makro Düzenleyicisi:

Makrolar, nasıl tetiklendiklerine bakılmaksızın, Modül Düzenle diyalog penceresinde oluşturulabilir ve düzenlenebilir.

Örnekler:  

Bu bölüm, faydalı olabilecek VBScript makrosunun örneğini sunar.

Using VBScript Input Boxes for User Interaction

rem ** Clear selections, ask for product, **

rem ** select that product, **

rem ** go to sheet "Market", **

rem ** show pivot table "Sales" **

Sub ChooseValue

Set q = ActiveDocument

q.ClearAll (false)

Set f = q.Fields("Model Name")

x = inputbox ("Enter product")

f.Select(x)

set s = q.Sheets("Market")

s.Activate

s.SheetObjects("Sales").Activate

end sub

JScript İçin Özel Kütüphane Fonksiyonları

Standart VBScript fonksiyonları InputBox ve MsgBox, VBScript makrolarında rahatlıkla kullanılabilirken, JScript kullanıldığında bunların doğrudan karşılıkları kullanılabilir durumda değildir. Bu amaçla, bu eylemler için özel kütüphane qvlib eklenmiştir. Fonksiyonlar aşağıdaki örnekte gösterilmiştir.

// JScript

function Test()

{

personName = qvlib.InputBox("What is you name?")

msg = "Hello " + personName + " !"

qvlib.MsgBox(msg)

}

qvlib fonksiyonları aslında, aşağıdaki örnekte gösterildiği gibi VBScript makrolarında da çalışır; ancak bu durumda genel VBScript fonksiyonlarını (InputBox ve MsgBox) da kullanabilirsiniz.

rem VBScript

sub TestModule

name = qvlib.InputBox("What is your name?")

msg = "Hello "

msg = msg + name + " !"

qvlib.MsgBox(msg)

end sub

Bu sayfa size yardımcı oldu mu?

Bu sayfa veya içeriği ile ilgili bir sorun; bir yazım hatası, eksik bir adım veya teknik bir hata bulursanız, bize bildirin, düzeltelim!

Analiz Modernleştirme Programına katılın

Remove banner from view

Analiz Modernleştirme Programı ile değerli QlikView uygulamalarınızı ödün vermeden modernleştirin. Bize ulaşmak ve daha fazla bilgi almak için buraya tıklayın: ampquestions@qlik.com