AÖF Soru Bankası

İşlem Tablosu ProgramlamaÜnite 8 Özeti

Excel Eklentileri Geliştirmek

YBS301U-İŞLEM TABLOSU PROGRAMLAMA

Ünite 8: Excel Eklentileri Geliştirmek

Giriş

Office Add-ins, Microsoft’un Office uygulamalarının sınırlarını genişletmek ve kullanıcıların iş akışlarını daha etkili yönetmelerini sağlamak için sunduğu yenilikçi bir yazılım geliştirme ekosistemidir: Kullanıcıların Excel, Word, PowerPoint ve Outlook gibi temel Office uygulamalarına gömülü, özelleştirilmiş çözümler geliştirmelerine olanak tanır.

Microsoft Office Add-Ins Platformu

Dijital iş akışlarını daha güçlü ve kişiselleştirilebilir kılmak isteyen modern geliştiriciler için Microsoft Office Add-ins Platformu, yenilikçi ve esnek bir geliştirme ortamı sunar.

Office Add-ins’in COM ve VSTO’dan Farkı Nedir?

Office Add-ins Platformu, Microsoft’un eski nesil eklenti teknolojileri olan COM (Component Object Model) ve VSTO (Visual Studio Tools for Office) tabanlı eklentilere kıyasla birçok önemli avantaj sunar. Bu avantajlar şunlardır:

1. Çoklu Platform Desteği 2. Merkezî Yönetim ve Dağıtım 3. AppSource Üzerinden Kolay Erişim 4. Standart Web Teknolojilerine Dayalı Geliştirme

Bir Eklentinin Temel Bileşenleri

Bir Microsoft Office Eklentisi (Add-in), kullanıcı deneyimini genişleten ve Office uygulamaları ile doğrudan etkileşim kuran modern web çözümleri sunmak için tasarlanmış iki temel bileşenden oluşur: Manifest (Bildirim) Dosyası ve Web Uygulaması. Tasarlanmış iki temel bileşenden oluşur: Manifest (Bildirim) Dosyası ve Web Uygulaması.

Manifest (Bildirim) Dosyası

Geliştiricilere eklentiyi merkezî olarak yönetme ve güncelleme kolaylığı sunmak amacıyla tasarlanan Manifest dosyası, özünde eklentinin Office ile nasıl bütünleşeceğini belirleyen bir XML belgesidir. Genel olarak bir manifest, eklentinin ayarlarını ve yeteneklerini tanımlamak için yapılandırılmış şu alanları içerir: Temel Bilgiler, Entegrasyon Yöntemleri, İzin Düzeyi ve Veri Erişimi.

Web Uygulaması

Eklentinin tüm kullanıcı arayüzü ve işlevselliği HTML, CSS ve JavaScript teknolojileriyle geliştirilen bir web uygulaması tarafından sunulur. Basit bir eklenti, özünde, statik (yani, bir belge ya da İnternet kaynağı ile etkileşime girmeyen) bir HTML sayfasından oluşabilir. Ancak, tam manasıyla işlevsel ve etkileşimli bir eklenti geliştirmek için bir barındırma (hosting) sağlayıcısı tarafından sunulan ASP.NET, PHP veya Node.js gibi hem istemci hem de sunucu tarafındaki tüm teknolojileri kullanabilirsiniz.

Office Eklentisi Geliştirme Süreç

Microsoft Office eklenti geliştirme süreci; birden fazla platformda işlevsel ve ölçeklenebilir çözümler sunan modern bir yazılım mimarisi üzerine inşa edilmiştir. Süreç,

Office ekosistemindeki tüm uygulamaları kapsayan ortak iş akışını kapsar. Eklenti geliştirme süreci, genel olarak, dört ana aşamada bağlamında hayata geçirilir:

1. Planlama: Başarılı bir Office eklentisi geliştirme süreci, doğru bir planlama ile başlar. İlk olarak, eklentinin hangi Office uygulamaları için geliştirileceğine karar verilmelidir. 2. Geliştirme: Geliştirme aşamasında, eklentinin temel işlevleri ve arayüzü oluşturulur. JavaScript, HTML, CSS ve tercihe bağlı olarak TypeScript kullanılarak eklentinin temel yapı taşları oluşturulur. Geliştirici, Office Add-ins platformunun sunduğu Office JavaScript API’lerini kullanarak eklentinin Office dokümanları ile nasıl etkileşim kuracağını tanımlar. 3. Test ve Hata Ayıklama: Geliştirmenin ardından gelen test ve hata ayıklama aşaması, eklentinin farklı platformlarda ve senaryolarda sorunsuz çalışmasını sağlamayı hedefler. Test aşamasında, eklentinin temel işlevlerinin yanı sıra performansı, güvenliği ve kullanıcı deneyimi de değerlendirilir. 4. Yayımlama: Office eklentileri, Microsoft’un AppSource platformu üzerinden yayımlanır. AppSource, eklentinin geniş bir kullanıcı kitlesine erişmesini sağlayan merkezî bir dağıtım kanalıdır. Yayımlama sürecinde, eklentinin kullanıcı deneyimi optimize edilir ve güncellemeler için gerekli altyapı hazırlanır.

Office Add-ins Araç Seti

Microsoft, Office eklentileri geliştirme sürecini yürütmek üzere geliştiricilere geniş bir yelpazede seçenekler sunar. Geliştirme sürecinin ölçeğine, ekip ihtiyaçlarına ve teknolojik tercihlere bağlı olarak Yeoman Generator’dan Visual Studio’ya, Teams Toolkit’ten Office Add-ins Development Kit’e kadar pek çok araç tercih edilebilir.

Yeoman Office Generator

Yeoman Office Generator, Office Add-ins geliştirme sürecini hızlandıran ve esnek hale getiren popüler bir araçtır. Node.js tabanlı projeler oluşturmanızı sağlar ve bu projeleri Visual Studio Code veya diğer kod editörleri ile yönetebilirsiniz.

Visual Studio

Visual Studio’nun güçlü hata ayıklama ve test araçlarına ek olarak gelişmiş entegrasyon özellikleri ve kullanıcı dostu arayüzü, özellikle büyük ölçekli kurumsal projelerde tercih edilen bir geliştirme ortamı sunar.

Teams Toolkit

Microsoft 365’le bütünleşik çözümler geliştirmek isteyenler için ideal bir araç olan Teams Toolkit, özellikle iş birliği ve ekip çalışmasına yönelik eklentiler geliştirmeyi kolaylaştırır.


Office Add-ins Kullanıcı Arayüzü Bileşenler

Microsoft Office Add-ins platformu, geliştiricilere kullanıcı arayüzünü genişletmek ve özelleştirmek için çeşitli kullanıcı arayüzü (UI – User Interface) bileşenleri sunar.

Eklenti Komutları (Add-in Commands)

Eklenti komutları, kullanıcıların eklentinizi başlatmak için şerit üzerindeki bir düğmeye tıklamasını veya bir menüden seçim yapmasını sağlayarak JavaScript kodu çalıştırır ya da bir HTML kapsayıcısını açar. İki temel eklenti komut türü bulunmaktadır: Şerit Düğmeleri, Menüler ve Sekmeler, Bağlam Menüleri (Context Menus).

HTML Kapsayıcıları (Containers)

HTML, CSS ve JavaScript kullanarak tasarlanmış web uygulamanızı Office uygulamalarının içinde gömülebilmesini sağlar. HTML kapsayıcıları, üç farklı türde kullanılabilir: Görev Bölmeleri (Task Panes), İçerik Eklentileri (Content Add-ins), Diyalog Kutuları (Dialog Boxes).

Office Add-ins Tasarım Dili

Microsoft Office, dünyanın en yaygın kullanılan üretkenlik araçlarından biri olarak kendine özgü bir görsel tasarım diline sahiptir: Fluent UI. Modern ve tutarlı bir kullanıcı deneyimi sunmayı hedefleyen bir tasarım sistemi olarak işlev görev Fluent UI, Microsoft tarafından kendi ürünlerinde kullanılmak üzere geliştirilmiş bir ön uç (front- end) arayüz kütüphanesidir.

Fluent UI, uygulamalar ve eklentiler arasında tutarlılığı sağlamak için belirli tasarım unsurlar üzerine inşa edilmiştir. Tipografi, renk paleti, simgeler, animasyon tanımları ve yeniden kullanılabilir bileşenler içeren Fluent UI kütüphanesi hem kullanıcı arayüzünün hem de eklenti işlevlerinin Office ekosistemine doğal bir şekilde yerleşmesini sağlar. Kullanımı zorunlu olmasa da Fluent UI kullanmak, eklentilerin hızla 289 88 Excel Eklentileri Geliştirmek Office ile bütünleşmesini mümkün kılar ve geliştirme sürecini büyük ölçüde hızlandırır.

Fluent UI’ın temel özelliklerini şu şekilde özetleyebiliriz:

• Uyumluluk ve Tutarlılık: Fluent UI, Microsoft’un tasarım dili ile tamamen uyumlu olacak şekilde geliştirilmiştir. • Hazır Bileşenler: Fluent UI, geliştiricilere butonlar, listeler, menüler, açılır pencereler gibi kullanıcı arayüzünde sıkça kullanılan pek çok öntanımlı bileşen sunar. • Çoklu Platform Desteği: Web, masaüstü ve mobil uygulamalar dahil olmak üzere çok çeşitli platformlarda çalışacak biçimde tasarlanan Fluent UI, geliştirme sürecinde karşılaşabileceğiniz uyum ve entegrasyon sorunlarını en az indirir. • Duyarlı (Responsive) Tasarım: Fluent UI, geliştiricilere, farklı ekran boyutları ve cihazlar arasında tutarlı bir deneyim sunan duyarlı

bileşenler sağlayarak duyarlı tasarıma uygun arayüzler geliştirebilmesini kolaylaştırır. • Tema ve Özelleştirme Desteği: Fluent UI, tema desteği ile geliştiricilere renk paletlerini, tipografiyi ve diğer görsel unsurları özelleştirme imkânı sunar.

Örnek: İlk Excel Eklentim

Bu bölümde Office Add-ins geliştirme ortamımızı yapılandırarak Excel için basit bir görev bölmesi (task pane) eklentisi oluşturmayı adım adım öğreneceğiz.

Microsoft 365 Hesabı Edinmek

Microsoft Office Add-ins ile eklenti geliştirme yolculuğuna adım atmadan önce, bir Microsoft 365 hesabına sahip olmak temel bir gerekliliktir. Eğer hâlihazırda bir aboneliğiniz yoksa Microsoft 365 Geliştirici Programı aracılığıyla kapsamlı bir E5 geliştirici aboneliği edinebilir ve böylece Office’in tüm uygulamalarına erişim sağlayarak eklenti geliştirme süreciniz için en ideal altyapının temelini atabilirsiniz.

Geliştirme Ortamının Kurulumu

Başarılı bir geliştirme süreci için doğru geliştirme ortamını kurmak esastır. Office Add-ins projelerini geliştirmek için Node.js ve npm araçlarını kullanacağız. Node.js, açık kaynaklı ve platformlar arası bir çalışma zamanı olup, Office eklentileri geliştirmek için gerekli altyapıyı sağlar.

Node.js ve NPM

Geliştiricilerin sunucular, web uygulamaları, komut satırı araçları ve komut dosyaları (script) oluşturmasına olanak tanıyan ücretsiz, açık kaynaklı ve platformlar arası bir JavaScript çalışma zamanı olan Node. js, Microsoft tarafından Office eklentileri geliştirmek için yapılandırılmış öncelikli ortamlardan biridir. npm (Node Package Manager), Node.js’in yerleşik bileşenlerinden biridir ve Office Add-ins geliştirme sürecinde kullanılan paket ve modüllerin yönetimini sağlar.

Node.js ve npm kurulumunu yaptıktan sonra, Yeoman Generator (Yo Office) aracını kullanarak proje iskeletimizi oluşturacağız. Yeoman, proje başlatmayı kolaylaştırır ve Office eklentileri için gerekli olan dosya yapısını otomatik olarak kurar.

JavaScript ve TypeScript

JavaScript, HTML ve CSS ile birlikte web sayfalarının hem görünümünü hem de işlevselliğini güçlendirir. JavaScript; dinamik bir dildir, Pprototip tabanlı bir nesne yönelimli programlamayı temel alır, olay tabanlı bir yapıya sahiptir.

TypeScript ise JavaScript’in daha gelişmiş bir versiyonu olarak tanımlanabilir. Tip güvenliği sağlayarak özellikle büyük projelerde hata oranını azaltır ve kodu daha öngörülebilir hale getirir.

JavaScript ve TypeScript arasındaki seçim; projenizin boyutuna, karmaşıklığına ve geliştirme ihtiyaçlarınıza bağlıdır.


Visual Studio Code

Office Add-ins projelerini geliştirmek için Visual Studio Code (VS Code) önerilir. VS Code, hafif ve genişletilebilir bir kod editörüdür ve JavaScript, TypeScript gibi diller için gelişmiş özellikler sunar. Ayrıca, yerleşik terminali ve uzantılarıyla Office eklenti geliştirme sürecini destekler. VS Code’u kurarak projemizi başlatabilir, eklenti dosyalarını yönetebilir ve kodlarımızı test edebiliriz.

Yeoman Generator (Yo Office)

Node.js ve npm kurulumunu yaptıktan sonra, Yeoman Generator (Yo Office) aracını kullanarak proje iskeletimizi oluşturacağız. Yeoman, proje başlatmayı kolaylaştırır ve Office eklentileri için gerekli olan dosya yapısını otomatik olarak kurar. Komut isteminde Yeoman’i çalıştırmak için yo komutu kullanılır.

Script Lab

Office JavaScript API’sini keşfetmek için mükemmel bir araçtır. Script Lab’i yükleyerek, önceden hazırlanmış örnekleri inceleyebilir ve kendi kodlarınızı yazabilirsiniz. Script Lab ile yazdığınız JavaScript kodlarını anında çalıştırabilir ve Excel ile etkileşimli deneyimler oluşturabilirsiniz.

Bir Excel Görev Bölmesi Eklentisi Geliştirmek

Bir Excel görev bölmesi eklentisini Node.js çalışma zamanında Yo Office proje şablonunu kullanarak VS Code ile geliştirmek için şu adımları takip edebilirsiniz:

1. Terminalde yo office komutunu çalıştırın. 2. Sihirbazın sunduğu seçenekler arasında gezinerek “Office Add-in Task Pane project” ve “Excel” seçin. 3. Proje adınızı belirleyin (örneğin, EklentiX) ve proje klasörünü oluşturun. 4. Proje oluşturulduktan sonra VS Code ile dosya yapısını keşfedin.

Projenizi test etmek için, VS Code terminalinde npm start komutunu çalıştırarak yerel web sunucusunu başlatın ve Excel’de eklentinizi görüntüleyin. Görev bölmesini açarak eklentinin işlevlerini test edebilirsiniz. Eklentinizin beklendiği gibi çalıştığından emin olduktan sonra sunucuyu npm stop komutuyla durdurabilirsiniz. Sonraki adımlar için eklentinizi daha da zenginleştirebilir, Script Lab’de geliştirdiğiniz kodları projenize entegre ederek fonksiyonları özelleştirebilirsiniz.

Bu ünitenin sorularını uygulamada çözŞıklar, doğru cevaplar ve süreli sınav modu AÖF Soru Bankası uygulamasında