mIRC ve Excel

Eylül 19, 2008 at 11:02 pm Yorum bırakın

Addon/Ders: mIRC ve Excel
Yazar: Alience
Tarih: 28-07-2008
Açıklama: mIRC ile Excel arasında veri alışverişi yapmanıza olanak sağlar
Versiyon: 1.0
-> mIRC denenen versiyon: 6,31
-> Office denenen versiyon: Xp
Not: çalışması için excel’in yüklü olması gereklidir!

Adından da anlaşılacağı gibi com object kullanarak mIRC ile Excel arasında veri aktarımı yapmanıza olanak sağlayacak addon, baştan belirtmek isterim görsel veya basit birşeyler beklemeyin eğer hala öyle bir hevesiniz var ise yazının gerisini okumak sağlınız açısından zararlı olabilir .
Bu addonu yada kodları değil türkçe diğer dillerde dahi bulamazssınız. Bağzı kendini bilmezler benim bağzı çömezlerden kod çaldığımı idda ediyor o kendini bilmezlere rağmen bu kodu yayınlıyorum en azından faydalanan düzgün insanlara bir yardımımız olsun.

Aşağıdaki kodları remoteye kopyalayın

Kod:

alias excel {
  if $com(excel) {
    var %i = $com(excel,Quit,3)
    .comclose excel
    if $com(sheet) { .comclose sheet }
    if $com(selsheet) { .comclose selsheet }
    if $com(workbook) { .comclose workbook }
    if $com(cells) { .comclose cells }
  }
  .comopen excel Excel.Application
  if ($comerr) {
    if $show && !$prop  { echo $color(info text) -a comopen failed }
    halt
  }

  ; make excel window visible
  if ($com(excel,Visible,5,i4,1) == 0) {
    if $show { echo $color(info text) -a $com failed }
  }
}
alias workbook {
  var %i = $com(excel,Workbooks,3,dispatch* workbook)
  ;workbook ekliyoruz
  var %i = $iif($com(workbook,Add,3,dispatch* sheet),Workbook açıldı,$null)
  if $show && !$prop { echo $color(info text) -a %i }
}

alias sheets {
  if $com(selsheet) { .comclose selsheet }
  var %i = $iif($com(sheet,Sheets,3,uint,$1,dispatch* selsheet), Sheet $1,$null)
  if $show && !$prop { echo $color(info text) -a %i }
  if !$prop {
    if $2 != $null {
      var %i = $com(selsheet,$2,4,$iif($isnum($2),uint,bstr),$2-)
      return $com(selsheet).result
    }
  }
  else {
    if $prop {
      var %i = $com(selsheet,$prop,2)
      return $com(selsheet).result
    }
  }
}

alias cells {
  if $com(cells) { .comclose cells }
  var %i = $com(selsheet,Cells,3,uint,$1,uint,$2,dispatch* cells)
  if $show && !$prop { echo $color(info text) -a  %i }
  if !$prop {
    if $3 != $null {
      var %i = $com(cells,$3,4,$iif($isnum($4),uint,bstr),$4-)
      return $com(cells).result
    }
  }
  else {
    if $prop {
      var %i = $com(cells,$prop,2)
      return $com(cells).result
    }
  }
}

alias colls {
  if $com(colls) { .comclose colls }
  var %i = $com(selsheet,Columns,3,uint,$1,dispatch* colls)
  if $show && !$prop { echo $color(info text) -a  %i }
  if !$prop {
    if $3 != $null {
      var %i = $com(colls,$2,4,$iif($isnum($3),uint,bstr),$3-)
      return $com(colls).result
    }
  }
  else {
    if $prop {
      var %i = $com(colls,$prop,2)
      return $com(colls).result
    }
  }
}

alias rows {
  if $com(rows) { .comclose rows }
  var %i = $com(selsheet,Rows,3,uint,$1,dispatch* rows)
  if $show && !$prop { echo $color(info text) -a  %i }
  if !$prop {
    if $3 != $null {
      var %i = $com(rows,$2,4,$iif($isnum($3),uint,bstr),$3-)
      return $com(rows).result
    }
  }
  else {
    if $prop {
      var %i = $com(rows,$prop,2)
      return $com(rows).result
    }
  }
}

alias doldur {
  .excel
  .workbook
  .sheets 1
  var %i = 50
  while %i {
    .cells %i 1 value %i
    dec %i 1
  }
}

alias göster {
  var %i = 1
  while %i <= 50 {
    echo $color(info text) -a $cells(%i,1).value
    inc %i 1
  }
}

 

Kodda iki adet örnek mevcut /doldur komutunu girerseniz 1 den 50 ye kadar excel’e verileri yazar. /göster komutunu girdiğinizde ise bunları mIRC de listeler.

Kod açıklamaları:
kodların başına . (/.) koyarsanız hiçibir mesaj gözükmeyecektir (örn: /.sheets 2)

/excel ilk önce girmeniz gereken komuttur boş bir excel sayfası açar.
/workbook excel’i açtıktan sonra kitap oluşturmak için girmeniz gereken komuttur bu iki komut sırası ile uygulanmalı ve excel ana penceresi dışında işlem yapacak iseniz ikisinide kesin yazmak zorundasınız!

/sheets
iki şekilde kullanabilirsiniz:
/sheets ve $sheets

bir çalışma çalışma sayfasını seçmek için:
/sheets 2 yazdığınızda 2. çalışma sayfasını seçer.

/sheets 2 activate yazdıgınızda ise 2. çalışma sayfasını aktif hale getirir.
komut hakkında denemelerimizi yapalım:
/excel
/workbook
/sheets 2 activate

sonuç olarak 2. sayfa aktif bir şekilde karşınızda duruyor olması gerek

peki sheet’imizin adını almak ister isek ne yapmamız gerek:
//echo : $sheets(2).name

Baştaki uyarımın sebebini yavaş yavaş anlamaya başlıyorsunuz ben size komple hazır kod vermiyorum sadece ana hatlarını veriyorum bir koder arkadaşım üzerine eklentileri yazar ise çok basit kullanımı olur fakat ben ana halini vermeyi ve çıkabilecek en fazla kullanımı kod ile örneklemeyi (örn: //echo : $sheets(2).name) tercih ederim.

/cells
Sheets komutunda oldugu gibi cells komutunuda nomal komut ve identifier komutu olarak kullanabilirsiniz. Cells komutunu kullanmak için sırası ile:
1. excel açık olmalı (mIRC bağlantılı olması için com tarafından açılmalı /excel)
2. içinde kitap açık olmalı /workbook
3. seçili bir sayfa olmalı /sheets

komutlar sırası ile
/excel
/workbook
/sheets 1
/cells 1 1 value Deneme
;yukarıdaki komutun anlamı 1. satır ve 1. sütun denk gelen hüçreyi Deneme ile doldur.
/cells 3 1 value Alience
;yukarıdaki komutun anlamı 3. satır ve 1. sütun denk gelen hüçreyi Alience ile doldur’dur.

komutları girdikten sonra;
//echo $cells(1,1).value
;yukarıdaki kodu yazdığımızda Deneme değerini döner

//echo $cells(3,1).value
;Alience değerini döner

/colls
Kolon işlemleri için geçerli olan komuttur
/excel
/workbook
/sheets 1
;yukarıdaki komutlar excel com objesi açılı değilse yazılacak

/colls 1 columnwidth 50
;1. kolonun genişliğini 50 yapar

//echo : $colls(1).columnwidth
;1. kolonun genişliğini döner

//echo : $colls(2).columnwidth
;2. kolonun genişliğini döner

/rows
satır işlemleri için geçerli olan komuttur
/excel
/workbook
/sheets 1
;yukarıdaki komutlar excel com objesi açılı değilse yazılacak

/rows 1 rowheight 50
;1. satır yüksekliğini 50 yapar

//echo : $rows(1).rowheight
;1. satır yüksekliğini döner

//echo : $rows(2).rowheight
;2. satır yüksekliğini döner

gelelim daha ilginç komutlara
Tüm satırları aynı yükseklikte yapmak:
//colls 2 rowheight 17,25
;yukarıdaki 2 2. kolon 1. veya 30. kolonda olabilirdi farketmiyor, 17,25 ise yükseklik

Tüm sütunların genişliğini aynı yapmak:
//rows 2 columnwidth 17,25
;yukarıdaki kod gibi 2 2.kolon 17,25 genişlik

1. Kolona Alience yazdırtmak:
//colls 1 value Alience

1. Satıra Alience yazdırtmak:
//rows 1 value Alience

Kayıtlı bir excel(.xls) dosyası açtırmak:
//echo : $com(workbook,open,1,bstr,C:\dosya.xls)
;yukarıda dosyamız c: dizininde

Entry filed under: mIRC Dersleri. Tags: .

IMGMRC DLL / mIRC’de Smile Client Komutları

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

Trackback this post  |  Subscribe to the comments via RSS Feed


Takvim

Eylül 2008
P S Ç P C C P
    Eki »
1234567
891011121314
15161718192021
22232425262728
2930  

Most Recent Posts


%d blogcu bunu beğendi: