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

Microsoft Office uygulamalarının nesne modellerinde kullanılan yöntemlerin çoğu isteğe bağlı parametreleri kabul eder. Visual Studio'de Visual Basic çözüm geliştirmek için Office kullanırsanız, varsayılan değerler her eksik parametre için otomatik olarak kullanıldığından isteğe bağlı parametreler için bir değer geçmeniz gerekli değildir. Çoğu durumda, Visual C# projelerinde isteğe bağlı parametreleri de atlarsiniz. Ancak, belge düzeyi Word projelerinde sınıfının isteğe bağlı ThisDocument başvuru parametrelerini atamazsınız.

Uygulama hedefi: Bu konudaki bilgiler belge - düzeyi projelerine ve VSTO eklentisi - projelerine yöneliktir. Bkz. Office uygulaması ve proje türü tarafından kullanılabilen özellikler.

Visual C# ve Visual Basic projelerinde isteğe bağlı parametrelerle çalışma hakkında daha fazla bilgi için bkz. C (C# programlama kılavuzunda adlandırılmış ve isteğe bağlı bağımsız değişkenler)ve (Visual Basic).

Not

Önceki visual Visual Studio Visual C# projelerinde isteğe bağlı her parametre için bir değer geçmelisiniz. Kolaylık olması için bu projeler, parametresinin varsayılan değerini kullanmak istediğiniz zaman isteğe bağlı bir parametreye geçilen adlı missing genel bir değişken içerir. Visual Studio'de Office için Visual C# projeleri hala değişkenlerini içerir, ancak Word için belge düzeyi projelerde sınıfında isteğe bağlı başvuru parametrelerine sahip yöntemleri çağırma dışında, genellikle içinde Office çözümleri geliştirirken bunu kullanmak zorunda missing Visual Studio 2013 ThisDocument olmazsınız.

Excel'de örnek

Yöntemin CheckSpelling birçok isteğe bağlı parametresi vardır. Bazı parametreler için değerler belirtebilirsiniz ve aşağıdaki kod örneğinde gösterildiği gibi diğerlerinin varsayılan değerini kabul edersiniz. Bu örnek, adlı çalışma sayfası sınıfına sahip bir belge düzeyi proje Sheet1 gerektirir.


Globals.Sheet1.CheckSpelling(ignoreUppercase: true);
Globals.Sheet1.CheckSpelling(ignoreUppercase:=True)

Word'de örnek

Yöntemin Execute birçok isteğe bağlı parametresi vardır. Bazı parametreler için değerler belirtebilirsiniz ve aşağıdaki kod örneğinde gösterildiği gibi diğerlerinin varsayılan değerini kabul edersiniz.

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 Visual C# belge düzeyi projelerinde ThisDocument sınıfındaki yöntemlerin isteğe bağlı parametrelerini kullanma

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

Globals.ThisDocument.CheckSpelling(ignoreUppercase: true);

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

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

  • İsteğe bağlı bir başvuru parametresi için kendi değerinizi belirtmek için, belirtmek istediğiniz değere atanmış bir nesne belirtin ve ardından nesneyi parametresine iletir.

    Aşağıdaki kod örneğinde ignoreUppercase parametresi için bir değer belirterek ve diğer parametreler için varsayılan değeri kabul etme yöntemi nasıl CheckSpelling çağrılabilir?

    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 bir yöntemin isteğe bağlı başvuru parametrelerini atlayarak kod yazmak için, alternatif olarak özelliği tarafından döndürülen nesnede aynı yöntemi çağırabilir ve bu yöntemden parametreleri ThisDocument Document InnerObject atabilirsiniz. Bunu, sınıf yerine Document bir arabirim olduğu için bunu yapabiliriz.

    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şvuru değerlerine göre (Visual Basic) (Visual Basic için) ve Parametre geçişi (C# programlama kılavuzu).

Ayrıca bkz.