Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Visual Studio, Visual Basic'te Microsoft Office programlamayı geliştiren özellikler sunar. Visual Basic'teki özellikler arasında otomatik uygulanan özellikler, lambda ifadelerindeki deyimler ve koleksiyon başlatıcılar bulunur. Kullanıcının bilgisayarına birincil birlikte çalışma derlemeleri (PIA) dağıtmadan COM bileşenleriyle etkileşim kuran derlemelerin dağıtımına olanak tanıyan tür bilgilerini ekleyebilirsiniz. Daha fazla bilgi için bkz. İzlenecek Yol: Yönetilen Derlemelerden Türleri Ekleme.
Bu izlenecek yol, bu özellikleri Office programlama bağlamında gösterir, ancak bu özelliklerin çoğu genel programlamada da yararlıdır. İzlenecek yolda, Excel çalışma kitabı oluşturmak için bir Excel Eklentisi uygulaması kullanırsınız. Ardından, çalışma kitabının bağlantısını içeren bir Word belgesi oluşturursunuz. Son olarak, PIA bağımlılığını nasıl etkinleştirip devre dışı bırakabileceğinizi göreceksiniz.
Önkoşullar
Bu kılavuzu tamamlamak için bilgisayarınızda Microsoft Office Excel ve Microsoft Office Word yüklü olmalıdır.
Not
Bilgisayarınız, aşağıdaki yönergelerde yer alan Visual Studio kullanıcı arabirimi öğelerinden bazıları için farklı adlar veya konumlar gösterebilir. Sahip olduğunuz Visual Studio sürümü ve kullandığınız ayarlar bu öğeleri belirler. Daha fazla bilgi için bkz. IDE'yi kişiselleştirme.
Excel Eklenti uygulaması ayarlama
Visual Studio’yu çalıştırın.
Dosya menüsünde Yeni'nin üzerine gelin ve Proje'ye tıklayın.
Yüklü Şablonlar bölmesinde Visual Basic'i genişletin, Office'i genişletin ve ardından Office ürününün sürüm yılına tıklayın.
Şablonlar bölmesinde Excel <sürümü> Eklentisi'ne tıklayın.
Hedef Çerçeve kutusunda .NET Framework 4 veya sonraki bir sürümün göründüğünden emin olmak için Şablonlar bölmesinin en üstüne bakın.
İstersen, Ad kutusuna projeniz için bir ad yazın.
Tamam'a tıklayın.
Yeni proje Çözüm Gezgini görüntülenir.
Başvuru ekleme
Çözüm Gezgini'da projenizin adına sağ tıklayın ve ardından Başvuru Ekle'ye tıklayın. Başvuru Ekle iletişim kutusu görüntülenir.
Derlemeler sekmesinde, Bileşen Adı listesinde Microsoft.Office.Interop.Excel, sürüm
<version>.0.0.0(Office ürün sürüm numaralarının anahtarı için bkz. Microsoft Sürümleri) öğesini seçin ve ardından CTRL tuşunu basılı tutarak Microsoft.Office.Interop.Word,version <version>.0.0.0öğesini seçin. Derlemeleri görmüyorsanız, bunların yüklendiğinden ve görüntülendiğinden emin olmanız gerekebilir (bkz . Nasıl yapılır: Office Birincil Birlikte Çalışma Derlemelerini Yükleme).Tamam'a tıklayın.
Gerekli Imports deyimlerini veya using yönergelerini ekleme
Çözüm Gezgini'daThisAddIn.vb veya ThisAddIn.cs dosyasına sağ tıklayın ve ardından Kodu Görüntüle'ye tıklayın.
Henüz yoksa kod dosyasının en üstüne aşağıdaki
Importsdeyimleri ekleyin.Imports Microsoft.Office.Interop
Banka hesaplarının listesini oluşturma
Çözüm Gezgini projenizin adına sağ tıklayın, Ekle'ye ve ardından Sınıf'a tıklayın. Sınıfı Account.vb olarak adlandırın. Ekle'ye tıklayın.
sınıfının tanımını
Accountaşağıdaki kodla değiştirin. Sınıf tanımları otomatik olarak uygulanan özellikleri kullanır. Daha fazla bilgi için bkz. Otomatik Uygulanan Özellikler.Public Class Account Property ID As Integer = -1 Property Balance As Double End Classİki hesap içeren bir
bankAccountsliste oluşturmak için ThisAddIn.vb dosyasındakiThisAddIn_Startupyöntemine aşağıdaki kodu ekleyin. Liste bildirimleri koleksiyon başlatıcılarını kullanır. Daha fazla bilgi için bkz . Koleksiyon Başlatıcıları.Dim bankAccounts As New List(Of Account) From { New Account With { .ID = 345, .Balance = 541.27 }, New Account With { .ID = 123, .Balance = -127.44 } }
Excel’e verileri aktarma
Aynı dosyada sınıfına aşağıdaki yöntemi
ThisAddInekleyin. yöntemi bir Excel çalışma kitabı ayarlar ve verileri bu çalışma kitabına aktarır.Sub DisplayInExcel(ByVal accounts As IEnumerable(Of Account), ByVal DisplayAction As Action(Of Account, Excel.Range)) With Me.Application ' Add a new Excel workbook. .Workbooks.Add() .Visible = True .Range("A1").Value = "ID" .Range("B1").Value = "Balance" .Range("A2").Select() For Each ac In accounts DisplayAction(ac, .ActiveCell) .ActiveCell.Offset(1, 0).Select() Next ' Copy the results to the Clipboard. .Range("A1:B3").Copy() End With End SubAdd yönteminin belirli bir şablonu belirtmek için isteğe bağlı bir parametresi vardır. İsteğe bağlı parametreler, parametrenin varsayılan değerini kullanmak istiyorsanız bu parametrenin bağımsız değişkenini atlamanızı sağlar. Önceki örnekte hiçbir bağımsız değişken gönderilmediğinden,
Addvarsayılan şablonu kullanır ve yeni bir çalışma kitabı oluşturur.RangeRange nesnesinin veOffsetözellikleri, dizine alınan özellikler özelliğini kullanır. Dizine alınan özellikler de nesnesininValueRangeözelliğini kullanmanıza olanak tanıyarak özelliğini kullanma gereksiniminiValue2ortadan kaldırır.Valueözelliği dizine eklenir, ancak dizin isteğe bağlıdır. İsteğe bağlı bağımsız değişkenler ve dizine alınan özellikler aşağıdaki örnekte birlikte çalışır.
Sütun genişliklerini
DisplayInExceliçeriğe uyacak şekilde ayarlamak için sonuna aşağıdaki kodu ekleyin.' Add the following two lines at the end of the With statement. .Columns(1).AutoFit() .Columns(2).AutoFit()Birlikte çalışma türlerini ekleme hakkında daha fazla bilgi için, bu makalenin devamında yer alan "PIA başvuruunu bulmak için" ve "PIA bağımlılığını geri yüklemek için" yordamlarına bakın.
DisplayInExcel'i çağırma
Yönteminin sonuna
ThisAddIn_StartUpaşağıdaki kodu ekleyin. çağrısıDisplayInExceliki bağımsız değişken içerir. İlk bağımsız değişken, işlenecek hesap listesinin adıdır. İkinci bağımsız değişken, verilerin nasıl işlendiğini tanımlayan çok satırlı lambda ifadesidir. Her hesabınIDvebalancedeğerleri bitişik hücrelerde ve bakiye sıfırdan küçükse satır kırmızı olarak görüntülenir.DisplayInExcel(bankAccounts, Sub(account, cell) ' This multiline lambda expression sets custom ' processing rules for the bankAccounts. cell.Value = account.ID cell.Offset(0, 1).Value = account.Balance If account.Balance < 0 Then cell.Interior.Color = RGB(255, 0, 0) cell.Offset(0, 1).Interior.Color = RGB(255, 0, 0) End If End Sub)Programı çalıştırmak için F5 tuşuna basın. Hesaplardan alınan verileri içeren bir Excel çalışma sayfası görüntülenir.
Word belgesi ekleme
Excel çalışma kitabına bağlantı içeren bir Word belgesi oluşturmak için yönteminin sonuna
ThisAddIn_StartUpaşağıdaki kodu ekleyin.Dim wordApp As New Word.Application wordApp.Visible = True wordApp.Documents.Add() wordApp.Selection.PasteSpecial(Link:=True, DisplayAsIcon:=True)PasteSpecial yönteminin yedi parametresi vardır ve bunların tümü isteğe bağlı başvuru parametreleri olarak tanımlanır. Adlandırılmış ve isteğe bağlı bağımsız değişkenler, erişmek istediğiniz parametreleri ada göre belirlemenizi ve bağımsız değişkenleri yalnızca bu parametrelere göndermenizi sağlar. Bu örnekte, Pano'daki çalışma kitabına bir bağlantı oluşturulması gerektiğini (parametre
Link) ve bağlantının Word belgesinde bir simge (parametreDisplayAsIcon) olarak görüntüleneceğini belirtmek için bağımsız değişkenler gönderilir.
Uygulamayı çalıştırma
- Uygulamayı çalıştırmak için F5'e basın. Excel başlatılır ve içindeki
bankAccountsiki hesaptaki bilgileri içeren bir tablo görüntülenir. Ardından, Excel tablosunun bağlantısını içeren bir Word belgesi görüntülenir.
Tamamlanan projeyi temizleme
- Visual Studio'da, Oluştur menüsünde Çözümü Temizle'ye tıklayın. Aksi takdirde, bilgisayarınızda Excel'i her açtığınızda eklenti çalışır.
PIA başvuruyu bulma
Uygulamayı yeniden çalıştırın, ancak Çözümü Temizle'ye tıklamayın.
Başlangıç'ı seçin. Microsoft Visual Studio <sürümünü> bulun ve bir geliştirici komut istemi açın.
Visual Studio için Geliştirici Komut İstemi penceresine yazın
ildasmve ENTER tuşuna basın. IL DASM penceresi görüntülenir.IL DASM penceresindeki Dosya menüsünde Dosya>Aç'ı seçin. Visual Studio <sürümüne> çift tıklayın ve ardından Projeler'e çift tıklayın. Projenizin klasörünü açın ve.dll projenizin adı için bin/Debug klasörüne bakın. projenizin adına.dll çift tıklayın. Projenizin özniteliklerinin yanı sıra diğer modüllere ve derlemelere başvurular da yeni bir pencere görüntülenir. ve
Microsoft.Office.Interop.Wordad alanlarınınMicrosoft.Office.Interop.Excelderlemeye dahil olduğunu unutmayın. Varsayılan olarak Visual Studio'da derleyici, başvurulan bir PIA'dan derlemenize ihtiyacınız olan türleri içeri aktarır.Daha fazla bilgi için bkz . Nasıl yapılır: Derleme İçeriğini Görüntüleme.
BILDIRIM simgesine çift tıklayın. Proje tarafından başvuruda bulunılan öğeleri içeren derlemelerin listesini içeren bir pencere görüntülenir.
Microsoft.Office.Interop.ExcelveMicrosoft.Office.Interop.Wordlisteye dahil değildir. Projenizin ihtiyaç duyduğu türler derlemenize aktarıldığından, PIA başvuruları gerekli değildir. Bu, dağıtımı kolaylaştırır. PIA'ların kullanıcının bilgisayarında mevcut olması gerekmez ve bir uygulama PIA'nın belirli bir sürümünün dağıtılması gerekmediğinden, tüm sürümlerde gerekli API'lerin mevcut olması koşuluyla uygulamalar Office'in birden çok sürümüyle çalışacak şekilde tasarlanabilir.PIA dağıtımı artık gerekli olmadığından, önceki sürümler de dahil olmak üzere Office'in birden çok sürümüyle çalışan gelişmiş senaryolarda bir uygulama oluşturabilirsiniz. Ancak, bu yalnızca kodunuz üzerinde çalıştığınız Office sürümünde bulunmayan API'leri kullanmıyorsa çalışır. Belirli bir API'nin önceki bir sürümde kullanılabilir olup olmadığı her zaman net değildir ve bu nedenle Office'in önceki sürümleriyle çalışmak önerilmez.
Not
Office, PIA'ları Office 2003'e kadar yayımlamadı. Bu nedenle, Office 2002 veya önceki sürümleri için birlikte çalışma derlemesi oluşturmanın tek yolu COM başvuruyu içeri aktarmaktır.
Bildirim penceresini ve derleme penceresini kapatın.
PIA bağımlılığını geri yükleme
- Çözüm Gezgini'daTüm Dosyaları Göster düğmesine tıklayın. Başvurular klasörünü genişletin ve Microsoft.Office.Interop.Excel'i seçin. Özellikler penceresini görüntülemek için F4 tuşuna basın.
- Özellikler penceresinde Birlikte Çalışma Türlerini Ekle özelliğini True yerine False olarak değiştirin.
- Için bu yordamdaki
Microsoft.Office.Interop.Word1. ve 2. adımları yineleyin. - Projenin hala düzgün çalıştığını doğrulamak için F5 tuşuna basın.
- Derleme penceresini açmak için önceki yordamdaki 1-3 arası adımları yineleyin. ve
Microsoft.Office.Interop.ExcelöğesininMicrosoft.Office.Interop.Wordartık eklenmiş derlemeler listesinde olmadığına dikkat edin. -
BILDIRIM simgesine çift tıklayın ve başvuruda bulunan derlemeler listesinde ilerleyin.
Microsoft.Office.Interop.ExcelHem hem deMicrosoft.Office.Interop.Wordlistede yer alır. Uygulama Excel'e başvurup PIA'ları Word ve Birlikte Çalışma Türlerini Ekle özelliği False olarak ayarlandığından, her iki derleme de son kullanıcının bilgisayarında bulunmalıdır. - Visual Studio'da, tamamlanan projeyi temizlemek için Derleme menüsünde Çözümü Temizle'ye tıklayın.
Ayrıca bkz.
- Otomatik Uygulanan Özellikler (Visual Basic)
- Koleksiyon Başlatıcıları
- İsteğe Bağlı Parametreler
- Bağımsız Değişkenleri Konuma ve Ada Göre Geçirme
- Erken ve Geç Bağlama
- Lambda İfadeleri
- İzlenecek yol: Yönetilen Bütünleştirilmiş Kodlardan Türler Katıştırma
- İnceleme: Excel için İlk VSTO Eklentinizi Oluşturma
- COM Birlikte Çalışma