1 Mart 2018 Perşembe

Excel Application Sınıfı

Giriş
Şu satırı dahil ederiz.
using Microsoft.Office.Interop.Excel 
Constructor
Excel şöyle yaratılır. Eğer nesne null ise Excel kurulu değildir.
var app = new Excel.Application();
Bazı parametreleri named parameter olarak verebiliriz.
var app = new Excel.Application(Visible = false);
Şöyle de yapabiliriz.
var app = new Excel.Application();
app.Visible = false;
AddIns Alanı
Şöyle yapılır.
foreach (Excel.AddIn item in app.AddIns)
{
  if (item.Name.Equals("BLOOMBERG ADDIN NAME"))
  {
    item.Installed = true;
  }
}
DisplayAlerts Alanı
Örnek ver.

UserConrol Alanı
Neden bilmiyorum ama Quit'ten önce çağırmak gerekiyor.
app.UserControl = true;
app.Quit();
UseSystemSeparators Alanı
Çeşitli parametreler şöyle atanır.
var cI = new CultureInfo(locale);
app.UseSystemSeparators = false;

app.ThousandsSeparator = cI.NumberFormat.NumberGroupSeparator;
app.DecimalSeparator = cI.NumberFormat.NumberDecimalSeparator;

Visible Alanı
Şöyle de yaparız.
app.Visible = false;

Workbooks Alanı
Örnek ver.

Diğer
Quit 
Excel bir COM nesnesi olduğu için şöyle kapatılır.
var app = new Excel.Application(Visible = false);
...
app.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(app);
Run
Macro çalıştırır. Şöyle yaparız.
object[] oRunArgs = new Object[]{"Worksheet01.xlsm!First_Macro"};
app.GetType().InvokeMember("Run", System.Reflection.BindingFlags.Default | 
        System.Reflection.BindingFlags.InvokeMethod, null, oApp, oRunArgs);
Release
Metodun bir sınıfı değil ancak işimiz bitince COM nesnesini bırakmak gerekir. Şöyle yaparız.
Excel.Application app = new Excel.Application();
...
xlApp.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(app);

Hiç yorum yok:

Yorum Gönder