Matlab ve Excel VBA (Makro) Entegrasyonu

Matlab ve Excel VBA (Makro) Entegrasyonu

Herkese merhabalar. Bu yazımda sizlere Excel ‘deki bir makroyu matlab üzerinden nasıl çalıştırabiliriz ve bununla nasıl işlemler yapabiliriz bunları anlatmaya çalışacağım.

Öncelikle bu çalışmada Excel kodlarında yardımcı olan Mehmet Uşak ‘a teşekkürlerimi sunuyorum. Yapacağımız işlem şudur ; Matlab GUI üzerinden adres bilgilerini kullanıcıdan isteyeceğiz. Aldığımız bu bilgileri Excel ortamına aktaracağız. Excel ‘de daha önceden yazılmış olan GSP algoritması ile şehir bilgilerine göre şehirlerinin birbirlerine olan uzaklıkları ile Sayfa1 Worksheet ‘inde bir mesafe matrisi oluşturacaktır. Mesafe matrisini ise matlab üzerinden alarak tabu search algoritması ile uzaklıkları hesaplayacağız.

Arayüz

Öncelikle GUI ortamında arayüzümüzü oluşturalım. Benzer bir GUI oluşturabilirsiniz daha fazla item de ekleyebilirsiniz. Buton isimleri değiştirilmemiştir. İsimlerine de görselden ulaşabilirsiniz.

Pushbutton1 Callback

Kodu inceledeğimizde ; GUI ortamından Callback yaptığımız takdirde karşımıza fonksiyon gelcektir. uitable dan gelen verileri data isminde bir değişkene atadık. Kontrol amaçlı ve görebilmek için disp fonksiyonunu kullanmıştım. Sonrasında her bir veriyi veriler adında bir değişkene atıyoruz.  Son olarakta xlswrite fonksiyonuyla ‘xlsm’ (Makro İçerebilen Excel Çalışma Kitabı) uzantılı bir dosyaya yazdırıyoruz. Tabiki birazdan görselini göreceğiniz excel dosyasında Menu isimli sayfaya verilerimizi aktarıyoruz. Şimdilik bu kısmı bir çalıştıralım.

Girilen değerler aktarıldığına göre bir sonraki butona geçelim. (Buton eklemede küçük bir hatadan dolayı pushbutton1, pushbutton3, pushbutton4 olarak isimlendirilmiştir.)

Pushbutton3 Callback

actxserver fonksiyonu yardımıyla boş bir excel ‘i çalıştırırsınız. Workboos.Open yardımıyla çalışma kitabını açarız. ExcelApp.Run sayesinde ise Makroyu çalıştırabiliyoruz. Şimdi diğer butona basalım.

Yukarıda gördüğünüz gibi bir mesafe matrisi oluşacaktır. Mesafe matrisini ise tabu araştırması algoritması ile gsp çözümü yapılmış olan bir matlab dosyasına gönderebiliriz. Sonucunda ise şöyle bir  grafik karşımıza çıkacaktır.

Aslın bütün olay pushbutton3 te bitmektedir. Gerisi sizin algoritmalarınıza bağlıdır. Matlab ve Makro entegrasyonu yazımı burada sonlandırıyorum umarım faydalı olmuştur. Bir sonraki yazıda görüşmek dileğiyle esen kalın.

 

 

 

 

 

Bir yorum ekleyin

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir