DoesContainNonASCII Fonksiyonu

Tanım


Herhangi bir karakter dizisinin içinde; standart ASCII karakter tablosunda yer alan karakterlerin dışında, bir karakter olup olmadığını araştıran fonksiyondur. Standart ASCII karakter tablosu; 33 tane basılamayan kontrol karakteri, ve 95 tane de basılan karakter içeren 128 karakterlik bir tablodur. Bununla beraber, standart ASCII karakter tablosunda yer almayan, bölgelere veya ülkelere özgü olabilen ve sıkça kullanılan bir sürü karakter vardır. Örneğin, Türkçe’ye özgü tüm karakterler standart ASCII karakter tablosunda yer almaz.


Fonksiyon; eğer verilen karakter dizininde, standart ASCII tablosundaki karakterler dışında bir karakter var ise True (Doğru, -1), yok ise de False (Yanlış, 0) mantıksal değerlerini geri döner.

Kullanım Şekli


Değişken = Document. DoesContainNonASCII( KarakterDizisi)

Ana Nesne


Document (Doc) nesnesinin elemanıdır. Bir doküman nesnesi ile kullanılmak zorundadır.

Parametreler


Parametre

Açıklama

KarakterDizisi

İçinde standart ASCII tablosundaki karakterler dışında, karakterin olup olmadığının araştırılacağı karakter dizisi.

Geri Dönen Değerler


Verilen karakter dizininin içinde, standart ASCII tablosu dışında herhangi bir karakter var ise True (-1) değerini, yok ise de False (0) değerini geri döner. Bir değişkene atanarak kullanılmalıdır

Hatırlatmalar


Büyük veya küçük farketmeden, Türkçe karakterlerin tümü fonksiyonun True değerini dönmesine neden olur.

Örnek


Sub Makro1()

       SDegisken = "ABC_Şİö"

       NonASCII = Doc.DoesContainNonAscii(SDegisken)

       Mesaj = """" & SDegisken & """ değişkeninde standart ASCII tablosunda olmayan karakter var mı ?"

       Mesaj = Mesaj & Chr(13) & NonASCII

       SDegisken = "Abc_TY" & chr(9) & "xx"

       NonASCII = Doc. DoesContainNonAscii(SDegisken)

       Mesaj = Mesaj & Chr(13) & """" & SDegisken & """ değişkeninde standart ASCII tablosunda olmayan karakter var mı ?"

       Mesaj = Mesaj & Chr(13) & NonASCII        

       Doc.MsgBox Mesaj

End Sub




Yukarıdaki örnekte, bir değişkene atanmış olan bir karakter dizininin içinde Standart ASCII karakter tablosu dışında bir karakterinin var olup olmadığını sorgulanmıştır. Birinci karakter dizininde; Türkçe harfler mevcuttur. Dolayısıyla fonksiyon True değeri dönmüştür. İkinci karakter dizininde ise; chr(9) (TAB tuşu) kontrol karakterinin de olmasına rağmen, tüm karakterler standart ASCII karakter tablosunda var olduğundan, fonksiyon False değeri dönmüştür.




Paylaşım Makrosu