Office Çözümlerinde İsteğe Bağlı Parametreler
Microsoft Office uygulamalarının nesne modellerinde birçok yöntem isteğe bağlı parametreleri kabul eder.Visual Studio 2013'da Office çözümü geliştirmek için Visual Basic kullanıyorsanız isteğe bağlı parametreler için bir değer geçirmenize gerek yoktur, çünkü eksik parametreler için varsayılan değerler otomatik olarak atanır.Çoğu durumda, Visual C# projelerinde isteğe bağlı parametreleri atlayabilirsiniz.Ancak, atlayamazsınız ref parametreleri, ThisDocument belge düzeyi Word projelerinde sınıfı.
Uygulama hedefi: Bu konudaki bilgiler, Office 2013 ve Office 2010 için belge düzeyi projeler ve uygulama düzeyi projelere yöneliktir. Daha fazla bilgi edinmek için, bkz. Office Uygulaması ve Proje Türüne Göre Kullanılabilir Özellikler.
Visual C# ve Visual Basic projelerinde isteğe bağlı parametrelerle çalışma hakkında daha fazla bilgi için, bkz. Adlandırılmış ve İsteğe Bağlı Bağımsız Değişkenler (C# Programlama Kılavuzu) ve İsteğe Bağlı Parametreler (Visual Basic).
[!NOT]
Visual Studio'nun önceki sürümlerinde Visual C# projelerinde her isteğe bağlı parametre için bir değer geçirmeniz gerekmektedir.Kolaylık açısından, bu projeler missing adında, isteğe bağlı parametrenin varsayılan değerini kullanmak istediğinizde geçirebildiğiniz bir genel değişken içerir.Visual Studio 2013'da Office için Visual C# projeleri hâlâ missing değişkenini içerir fakat Visual Studio 2013'da Office çözümleri geliştirirken bunu kullanmanıza genellikle, Word için belge düzeyi projelerde ThisDocument sınıfının isteğe bağlı ref parametrelerine sahip yöntemleri çağırdığınız zamanlar haricinde gerek kalmaz.
Excel'de Bir Örnek
Worksheet.CheckSpelling yöntemi birçok isteğe bağlı parametreye sahiptir.Aşağıdaki kod örneğinde gösterildiği gibi bazı parametreler için değer belirleyip diğerleri için varsayılan değeri kabul edebilirsiniz.Bu örnekte, Sheet1 isimli çalışma sayfası sınıfı olan bir belge düzeyi projesi gereklidir.
Globals.Sheet1.CheckSpelling(ignoreUppercase:=True)
Globals.Sheet1.CheckSpelling(ignoreUppercase: true);
Word'de Bir Örnek
Find.Execute yöntemi birçok isteğe bağlı parametreye sahiptir.Aşağıdaki kod örneğinde gösterildiği gibi bazı parametreler için değer belirleyip diğerleri için varsayılan değeri kabul edebilirsiniz.
With Me.Application.ActiveDocument.Content
.Find.ClearFormatting()
.Find.Execute(FindText:="blue", ReplaceWith:="red", Replace:=Word.WdReplace.wdReplaceAll)
End With
Word.Range documentRange = this.Application.ActiveDocument.Content;
documentRange.Find.ClearFormatting();
documentRange.Find.Execute(FindText: "blue", ReplaceWith: "red", Replace: Word.WdReplace.wdReplaceAll);
Word için Belge Düzeyi Visual C# Projelerinde ThisDocument Sınıfındaki Yöntemlerin İsteğe Bağlı Parametrelerini Kullanma
Word nesne modeliObject değerlerini kabul eden isteğe bağlı ref parametreleri olan birçok yöntem içerir.Ancak Word için belge düzeyi Visual C# projelerinde, oluşturulmuş ThisDocument sınıfının isteğe bağlı ref parametrelerini atlayamazsınız.Visual C#, sadece arayüzlerin, sınıfların değil, yöntemlerinin isteğe bağlı ref parametrelerini atlamanızı sağlar.Örneğin aşağıdaki kod örneği derlenmez çünkü ThisDocument sınıfının CheckSpelling yönteminin isteğe bağlı ref parametresi atlanamaz.
Globals.ThisDocument.CheckSpelling(ignoreUppercase: true);
ThisDocument sınıfının yöntemlerini çağırırken aşağıdaki yönergeleri izleyin:
İsteğe bağlı ref parametresinin varsayılan değerini kabul etmek için parametreye missing değişkenini geçirin.missing değişkeni Visual C# Office projelerinde otomatik olarak tanımlanır ve oluşturulan proje kodunda ona Type.Missing değeri atanır.
İsteğe bağlı ref parametresine kendi değerinizi belirlemek için istediğiniz değer atanmış bir nesne bildirip nesneyi parametreye geçirin.
Aşağıdaki kod örneğinde ignoreUppercase parametresi için bir değer belirleyip diğer parametreler için varsayılan değeri kabul ederek CheckSpelling yönteminin nasıl çağrıldığı gösterilir.
object ignoreUppercase = true;
Globals.ThisDocument.CheckSpelling(
ref missing, ref ignoreUppercase, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
ThisDocument sınıfındaki bir yöntemin isteğe bağlı ref parametresini atlayarak kod yazmak istiyorsanız, alternatif olarak InnerObject özelliği tarafından döndürülen Document nesnesindeki aynı yöntemi çağırabilir ve yöntemin parametrelerini girmeyebilirsiniz.Bunu yapabilirsiniz çünkü Document bir sınıf değil arayüzdür.
Globals.ThisDocument.InnerObject.CheckSpelling(IgnoreUppercase: true);
Değer ve başvuru türü parametreleri hakkında daha fazla bilgi için, bkz. Bağımsız Değişkenleri Değere ve Başvuruya Göre Geçirme (Visual Basic) (Visual Basic için) ve Parametreleri Geçirme (C# Programlama Kılavuzu).