Office çözümlerinde isteğe bağlı parametreler

Microsoft Office uygulaması lications nesne modellerindeki yöntemlerin çoğu isteğe bağlı parametreleri kabul eder. Visual Studio'da bir Office çözümü geliştirmek için Visual Basic kullanıyorsanız, her eksik parametre için varsayılan değerler otomatik olarak kullanıldığından isteğe bağlı parametreler için bir değer geçirmeniz gerekmez. Çoğu durumda, Visual C# projelerinde isteğe bağlı parametreleri de atlayabilirsiniz. Ancak, belge düzeyi Word projelerinde sınıfın ThisDocument isteğe bağlı başvuru parametrelerini atlayamazsınız.

Şunlar için geçerlidir: Bu konudaki bilgiler belge düzeyi projeler ve VSTO Eklenti projeleri için geçerlidir. Bkz. Office uygulaması ve proje türüne göre kullanılabilen ö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 isteğ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# projelerindeki isteğe bağlı her parametre için bir değer geçirmeniz gerekir. Kolaylık olması için bu projeler, parametrenin varsayılan değerini kullanmak istediğinizde isteğe bağlı bir parametreye geçirebileceğiniz adlı missing bir genel değişken içerir. Visual Studio'da Office için Visual C# projeleri yine de değişkeni içerir missing , ancak Word için belge düzeyi projelerinde sınıfında isteğe bağlı başvuru parametrelerine sahip yöntemleri çağırmanız dışında, Visual Studio 2013'te ThisDocument Office çözümleri geliştirirken bunu kullanmanız gerekmez.

Excel'deki örnek

CheckSpelling yönteminin birçok isteğe bağlı parametresi vardır. Aşağıdaki kod örneğinde gösterildiği gibi bazı parametreler için değerler belirtebilir ve diğerlerinin varsayılan değerini kabul edebilirsiniz. Bu örnek, adlı Sheet1bir çalışma sayfası sınıfına sahip belge düzeyinde bir proje gerektirir.


Globals.Sheet1.CheckSpelling(ignoreUppercase: true);

Word'deki örnek

Execute yönteminin birçok isteğe bağlı parametresi vardır. Aşağıdaki kod örneğinde gösterildiği gibi bazı parametreler için değerler belirtebilir ve diğerlerinin varsayılan değerini kabul edebilirsiniz.

Word.Range documentRange = this.Application.ActiveDocument.Content;
documentRange.Find.ClearFormatting();
documentRange.Find.Execute(FindText: "blue", ReplaceWith: "red", Replace: Word.WdReplace.wdReplaceAll);

Word için Visual C# belge düzeyi projelerinde ThisDocument sınıfında bulunan yöntemlerin isteğe bağlı parametrelerini kullanma

Word nesne modeli, değerleri kabul Object eden isteğe bağlı başvuru parametrelerine sahip birçok yöntem içerir. Ancak, Word için Visual C# belge düzeyi projelerinde oluşturulan ThisDocument sınıfın yöntemlerinin isteğe bağlı başvuru parametrelerini atlayamazsınız. Visual C# isteğe bağlı başvuru parametrelerini sınıflar için değil yalnızca arabirim yöntemleri için atlamanıza olanak tanır. Örneğin, sınıfın yönteminin ThisDocument isteğe bağlı başvuru parametrelerini CheckSpelling atlayamayacağınız için aşağıdaki kod örneği derlenmez.

Globals.ThisDocument.CheckSpelling(ignoreUppercase: true);

sınıfının yöntemlerini ThisDocument çağırdığınızda şu yönergeleri izleyin:

  • İsteğe bağlı bir başv parametresinin varsayılan değerini kabul etmek için değişkenini missing parametresine geçirin. missing Değişkeni Visual C# Office projelerinde otomatik olarak tanımlanır ve oluşturulan proje kodundaki değere Missing atanır.

  • İsteğe bağlı bir başv parametresi için kendi değerinizi belirtmek için, belirtmek istediğiniz değere atanmış bir nesne bildirin ve nesneyi parametresine geçirin.

    Aşağıdaki kod örneği, ignoreUppercase parametresi için bir değer belirtip diğer parametreler için varsayılan değeri kabul ederek yönteminin nasıl çağrılacağını CheckSpelling gösterir.

    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);
    

    Sınıfındaki ThisDocument bir yöntemin isteğe bağlı başvuru parametrelerini atlayan bir kod yazmak istiyorsanız, alternatif olarak özelliği tarafından InnerObject döndürülen nesnede Document aynı yöntemi çağırabilir ve bu yöntemdeki parametreleri atlayabilirsiniz. Bunu yapabilirsiniz çünkü Document bir sınıf yerine bir arabirimdir.

    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 için) ve Parametreleri geçirme (C# programlama kılavuzu).