Bu dosya, bilgisayarın internet çıkış IP adresine göre yaklaşık konumu bulur ve enlem ile boylam değerlerini hücrelere yazar. Hesaplama, VBA ile yazılmış GetRealLocationArray fonksiyonuyla yapılır. Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir.
Fonksiyon sonucu dizi olarak verir: ilk satırda başlıklar, ikinci satırda enlem ve boylam bulunur. Konum alınamazsa hücrede "Konum alınamadı!" iletisi görünür.
Dosyanın içeriği
- Sayfa1: B2 hücresinde "Latitude (Enlem)" başlığı, B3 hücresinde enlem değeri yer alır. Fonksiyon iki satır ve iki sütunluk bir dizi döndürdüğü için sonuç B2:C3 aralığına yayılır; C sütununda "Longitude (Boylam)" başlığı ve boylam değeri görünür.
Kullanılan formüller
B2 hücresindeki formül, makro modülünde tanımlı fonksiyonu çağırır:=GetRealLocationArray()
Makrolar
- Module1 - GetRealLocationArray: Arka planda bir PowerShell komutu çalıştırır. Komut, bir IP konum servisine (ipwhois.app) internet üzerinden istek gönderir ve yanıttaki latitude ile longitude değerlerini alır. Değerler ayrıştırılır, ondalık ayırıcı noktaya çevrilir ve 2x2'lik dizi olarak hücrelere verilir. Makro çalıştırmaya gerek yoktur; fonksiyon hücre formülü olarak çağrılır.
- JsonConverter: JSON verisini ayrıştırmak ve üretmek için kullanılan genel amaçlı yardımcı modüldür (ParseJson, ConvertToJson). Konum fonksiyonu bu modüle bağlı değildir; kendi içinde metin ayrıştırma yapar.
Nasıl kullanılır
- Dosyayı açın ve "İçeriği Etkinleştir" ile makroları etkinleştirin.
- İnternet bağlantınızın açık olduğundan emin olun.
- Sayfa1'de B2 hücresindeki formülün çalışmasını bekleyin; enlem ve boylam B3 ile C3 hücrelerinde görünür.
- Değerleri yenilemek için B2 hücresini seçip F2 ve ardından Enter tuşuna basın veya sayfayı yeniden hesaplatın.
- Fonksiyonu başka bir çalışma kitabında kullanmak için Module1 modülünü o dosyaya aktarın.