Belge Otomasyon Alanları (IF, COMPARE, MACROBUTTON ve Diğerleri)
Belge Otomasyonu Alanları (IF, COMPARE ve Daha Fazlası)
Bu kılavuz, Word’ün belge-otomasyonu alan ailesiyle nasıl çalışılacağını gösterir Aspose.Words FOSS için .NET – koşullu metni yönlendiren, belge kapsamlı değişkenleri depolayan ve makroları, gezinmeyi ve yazdırma davranışını bağlayan alanlar, yalnızca hesaplanmış bir değeri görüntülemek yerine. Her biri bir Field alt sınıfı Aspose.Words.Fields ad alanı: FieldIf, FieldCompare, FieldDocVariable, FieldGoToButton, FieldMacroButton, ve FieldPrint. Hepsi temel Field açıklanan üyeler Alanlarla Çalışma – GetFieldCode(), Update(), Remove(), Unlink(), Start/Separator/End, Result, ve Format – bu sayfa her birine özgü olanı kapsar.
Koşullu Metin FieldIf ile
FieldIf uygular IF alan. LeftExpression, ComparisonOperator, ve RightExpression koşulu tanımlar – aynı üç bölümlü şekli kullanan IComparisonExpressionEvaluator (bkz Alanlarla Çalışmak) – ve TrueText / FalseText iki olası sonucu tutar. Çağır EvaluateCondition() koşulu doğrudan değerlendirmek için; bir FieldIfComparisonResult değer: True, False, ya da Error.
Değerleri FieldCompare ile Karşılaştırma
FieldCompare, COMPARE alanını uygular. FieldIf gibi, karşılaştırmayı tanımlamak için LeftExpression, ComparisonOperator ve RightExpression sunar, ancak iki metin seçeneği arasında geçiş yapmak yerine boolean-stilinde bir sonuç üretir.
Belge Değişkenleri FieldDocVariable ile
FieldDocVariable, DOCVARIABLE alanını uygular, adlandırılmış belge kapsamlı bir değişkeni VariableName özelliği aracılığıyla okur.
Düğmeler: FieldGoToButton ve FieldMacroButton
FieldGoToButton, GOTOBUTTON alanını uygular: Location, atlanacak yer imi, sayfa veya diğer hedefi adlandırır ve DisplayText, belgede gösterilen etikettir. FieldMacroButton, MACROBUTTON alanını uygular: MacroName, çalıştırılacak makroyu adlandırır ve DisplayText, etikettir. Hem FieldIf hem de FieldMacroButton, ayrıca IMergeFieldSurrogate arayüzünü uygular; bu, Word’ün posta birleştirme farkında olan alanlarının kendilerini değiştirilebilir içerik olarak işaretlemek için kullandığı arayüzdür.
FieldPrint ile Yazdırma Talimatları
FieldPrint, PRINT alanını uygular: PrinterInstructions ve PostScriptGroup, belgeye doğrudan gömülmüş yazıcıya özgü talimatları tutar.
İpuçları ve En İyi Uygulamalar
FieldIf.EvaluateCondition()‘ı,TrueText/FalseText‘ı kendiniz ayrıştırmaya gerek kalmadan bir koşulun sonucunu (FieldIfComparisonResult) okumak için kullanın.FieldCompareveFieldIf, aynıLeftExpression/ComparisonOperator/RightExpressionşeklini paylaşır – bir karşılaştırma ifadesi oluşturan veya inceleyen kod, her iki alan tipinde de yeniden kullanılabilir.- Unutmayın bunların hepsi
Fieldalt sınıflar:GetFieldCode(),Update(),Remove(), veUnlink()from Alanlarla Çalışma burada tam olarak aynı şekilde uygulanır.
Yaygın Sorunlar
| Sorun | Neden | Düzeltme |
|---|---|---|
FieldIf.EvaluateCondition() Error döndürür | Koşulun operandları veya operatörü, yazıldığı gibi değerlendirilemedi. | Geçerli değerler için LeftExpression, ComparisonOperator ve RightExpression kontrol edin |
FieldDocVariable sonucu beklenen bir değişken değerini yansıtmıyor | VariableName belge üzerinde gerçekte mevcut olan bir değişken adıyla eşleşmiyor | Okumadan önce tam değişken adını ve Result‘ın mevcut olduğunu doğrulayın |
FieldGoToButton/FieldMacroButton görüntüleme metni, Word’ün gösterdiğiyle eşleşmiyor | DisplayText, alan güncellenmeden önce okunmuş ya da eşleşen bir Update() çağrısı olmadan ayarlanmış | Alana Update() çağrısı yapın veya herhangi bir değişiklikten sonra DisplayText‘i yeniden okuyun |
FAQ
Koşullu IF alanının sonucunu nasıl okurum?
Ham FieldIfComparisonResult için FieldIf.EvaluateCondition() çağırın, ya da alanın arasında geçiş yaptığı iki gerçek metin alternatifini elde etmek için TrueText / FalseText okuyun.
FieldIf ile FieldCompare arasındaki fark nedir?
FieldIf (IF alanı), koşuluna göre TrueText ve FalseText arasında geçiş yapar. FieldCompare (COMPARE alanı) aynı karşılaştırma biçimini paylaşır ancak alternatif metin yerine boolean tarzı bir sonuç üretir.
DOCVARIABLE alanından bir belge değişkeninin adını nasıl okurum?
Oku FieldDocVariable.VariableName.
GOTOBUTTON alanının hedefini nasıl bulabilirim?
Oku FieldGoToButton.Location; DisplayText belgede düğme için gösterilen etiketi verir.
API Reference Özeti
| Sınıf / Enum | Açıklama |
|---|---|
FieldIf | IF alan; LeftExpression, ComparisonOperator, RightExpression, TrueText, FalseText, EvaluateCondition() |
FieldIfComparisonResult | Enum sonucu FieldIf.EvaluateCondition(): True, False, Error |
FieldCompare | COMPARE alanı; LeftExpression, ComparisonOperator, RightExpression |
FieldDocVariable | DOCVARIABLE alanı; VariableName |
FieldGoToButton | GOTOBUTTON alanı; Location, DisplayText |
FieldMacroButton | MACROBUTTON alan; MacroName, DisplayText |
FieldPrint | PRINT alan; PrinterInstructions, PostScriptGroup |