Değişkenler Word Şablonlar
Bu kılavuz neleri kapsıyor?
PDF4me Word Şablonlar şunları kullanır: var anahtar kelime Özel değişkenleri doğrudan belge içinde tanımlamak için. Tanımlandıktan sonra, bir değişken herhangi bir yerde çıktı olarak verilebilir, döngülerde yeniden atanarak toplamlar oluşturulabilir veya dinamik mesajlaşmayı yönlendirmek için koşullu olarak ayarlanabilir - bunların hepsi belgeye dokunmadan yapılabilir. JSON Veri yükü. Bu kılavuz, her yaygın şablon senaryosu için sözdizimini, kapsam kurallarını, biçimlendirmeyi ve pratik kalıpları açıklamaktadır.
Temel Sözdizimine Genel Bakış
Bir isim verilmiş değişken tanımlayın ve ona başlangıç değeri atayın:
<<var [total = 0]>>Tanımlamadan sonra geçerli değeri herhangi bir yerde görüntüleyin:
<<[total]:"F2">>Değişken değerini daha sonra istediğiniz zaman güncelleyebilirsiniz:
<<var [total = total + item.price]>>Bildirim ve Temel Kullanım
O var Anahtar kelime şu yapıya sahiptir:
<<var [Type Name = Value]>>
Type İsteğe bağlıdır - motor bunu değerden çıkarır. Name Bu, daha sonra başvuracağınız tanımlayıcıdır. Value Herhangi bir sabit değer, veri alanı veya ifade olabilir.
Basit dize değişkeni
<<var [companyName = "Acme Corp"]>>
<<var [companyPhone = "+1-555-0123"]>>
Company: <<[companyName]>>
Contact: <<[companyPhone]>>
For questions, please reach <<[companyName]>> at <<[companyPhone]>>.
Değişkenler bir kez tanımlanır ve tutarlılığın önemli olduğu her yerde yeniden kullanılır; bir yerdeki değeri değiştirmek tüm belgeyi günceller.
Değişken Yeniden Ataması
Şablonda daha sonraki bir noktada başka bir kod yazarak bir değişkene yeniden değer atayabilirsiniz. <<var>> Aynı ada sahip etiket. Yeni değer o noktadan itibaren geçerli olur.
<<var [status = "Pending"]>>
Current Status: <<[status]>>
<<var [status = "Approved"]>>
Updated Status: <<[status]>>
<<var [status = "Completed"]>>
Final Status: <<[status]>>
Çıktı:
Current Status: Pending
Updated Status: Approved
Final Status: Completed
Hesaplamalı Değişkenler
Değişkenler, veri kaynağı koleksiyonları üzerindeki LINQ toplama işlemleri de dahil olmak üzere herhangi bir aritmetik ifadenin sonucunu tutabilir.
Toplamlar ve vergi hesaplaması
<<var [subtotal = lineItems.Sum(i => i.quantity * i.price)]>>
<<var [taxRate = 0.10]>>
<<var [taxAmount = subtotal * taxRate]>>
<<var [total = subtotal + taxAmount]>>
Subtotal: $<<[subtotal]:"F2">>
Tax (10%): $<<[taxAmount]:"F2">>
Total: $<<[total]:"F2">>
Dize birleştirme
<<var [firstName = "Jane"]>>
<<var [lastName = "Smith"]>>
<<var [fullName = firstName + " " + lastName]>>
Customer: <<[fullName]>>
Dize işleme yöntemleri
<<var [upperName = customerName.ToUpper()]>>
<<var [initials = firstName.Substring(0,1) + lastName.Substring(0,1)]>>
Customer: <<[upperName]>>
Initials: <<[initials]>>
Döngülerdeki Değişkenler
Değişkenleri tanımlayın önce o <<foreach>> etiketle ve yeniden ata içeri Döngü gövdesi. Motor, değeri yinelemeler boyunca taşır ve bu da onu kümülatif toplamlar ve satır sayaçları için standart bir model haline getirir.
Kalem kalem toplamını hesaplayın.
<<var [runningTotal = 0.0]>>
<<foreach [item in lineItems]>>
<<var [lineTotal = item.quantity * item.price]>>
<<var [runningTotal = runningTotal + lineTotal]>>
<<[item.description]>> - <<[item.quantity]>> × $<<[item.price]:"F2">> = $<<[lineTotal]:"F2">> (Running: $<<[runningTotal]:"F2">>)
<</foreach>>
Final Total: $<<[runningTotal]:"F2">>
Satır sayacı
<<var [counter = 0]>>
<<foreach [item in items]>>
<<var [counter = counter + 1]>>
<<[counter]>>. <<[item.name]>>
<</foreach>>
Total Items: <<[counter]>>
Koşullu Değişkenler
Kullanın C# üçlü operatör ? : Veri yükünden gelen verilere dayanarak bir değişkenin değerini dallandırmak.
Durum etiketi
<<var [statusLabel = orderStatus == "Completed" ? "✓ Complete" : "⚠ Pending"]>>
<<var [urgency = daysUntilDue < 7 ? "URGENT" : "Standard"]>>
Priority: <<[urgency]>>
Status: <<[statusLabel]>>
Kademeli indirim
<<var [subtotal = items.Sum(i => i.price)]>>
<<var [discountRate = subtotal > 1000 ? 0.15 : 0.05]>>
<<var [discountAmount = subtotal * discountRate]>>
<<var [total = subtotal - discountAmount]>>
Subtotal: $<<[subtotal]:"F2">>
Discount (<<[discountRate * 100]:"F0">>%):: $<<[discountAmount]:"F2">>
Total: $<<[total]:"F2">>
Örnek: Tüm Desenleri İçeren Fatura
Tam Fatura ŞablonuCombines declaration, running totals in a loop, conditional discount, and formatted output.
<<var [companyName = "Tech Solutions Inc."]>>
<<var [proposalDate = DateTime.Now]>>
<<var [validUntil = proposalDate.AddDays(30)]>>
Invoice Date: <<[proposalDate]:"MMMM dd, yyyy">>
Valid Until: <<[validUntil]:"MMMM dd, yyyy">>
Line Items:
<<var [subtotal = 0.0]>>
<<foreach [item in lineItems]>>
<<var [lineTotal = item.quantity * item.unitPrice]>>
<<var [subtotal = subtotal + lineTotal]>>
• <<[item.description]>> - <<[item.quantity]>> @ $<<[item.unitPrice]:"F2">> = $<<[lineTotal]:"F2">>
<</foreach>>
<<var [discountRate = subtotal > 5000 ? 0.10 : 0.05]>>
<<var [discountAmount = subtotal * discountRate]>>
<<var [afterDiscount = subtotal - discountAmount]>>
<<var [tax = afterDiscount * 0.08]>>
<<var [grandTotal = afterDiscount + tax]>>
Subtotal: $<<[subtotal]:"F2">>
Discount (<<[discountRate * 100]:"F0">>%):: $<<[discountAmount]:"F2">>
After Discount: $<<[afterDiscount]:"F2">>
Tax (8%): $<<[tax]:"F2">>
Grand Total: $<<[grandTotal]:"F2">>
Prepared by: <<[companyName]>>
Değişken Kapsam Kuralları
| Beyan edildiği yer | Mevcut |
|---|---|
| Belge kökü (herhangi bir döngüden önce) | Beyanname sonrasında belgenin her yerinde |
İçeride <<foreach>> engellemek | Bu yineleme içinde; döngüden önce tanımlanmışsa döngünün dışında da devam eder. |
iç içe geçmiş <<foreach>> | Bu iç içe geçmiş kapsam dahilinde; yalnızca önceden tanımlanmışsa dışarıda görünür. |
Genel kural: İhtiyaç duyduğunuz tüm değişkenleri döngünün dışında tanımlayın. önce o <<foreach>> Döngü içinde yeniden atama yapmak, sonraki tüm referanslar için aynı değişkeni günceller.
Biçimlendirme Çıktısı
Ekle .NET Çıktı etiketindeki değişken adından sonra gelen biçimlendirme dizeleri:
| Biçim | Etiket örneği | Şu şekilde oluşturulur: |
|---|---|---|
| 2 ondalık basamak | <<[total]:"F2">> | 1234.56 |
| Tam sayı | <<[rate * 100]:"F0">> | 15 |
| Para birimi | <<[amount]:"C2">> | $1,234.56 |
| Uzun tarih | <<[createdDate]:"MMMM dd, yyyy">> | January 15, 2026 |
| Kısa tarih | <<[dueDate]:"MM/dd/yyyy">> | 01/15/2026 |
En İyi Uygulamalar
- Kullanmadan önce beyan edin. - Motor, etiketleri yukarıdan aşağıya doğru işler; bir değişken, kendisinden önce referans alınır.
<<var>>Bu etiket hataya neden oluyor. - Açıklayıcı camelCase isimler kullanın. -
grandTotal,taxAmount,invoiceDatebakımı daha kolaydırv1,tmp,x. - Akümülatörleri 0'a başlatın. veya
""Döngülerden önce - bir döngü gövdesinde başlatılmamış bir değişkene değer atamak, boş referans hatalarına neden olabilir. - Bir kere hesaplayın, birçok kez kullanın. - Karmaşık LINQ ifadelerini her çıktı etiketinde tekrarlamak yerine bir değişkende saklayın.
- İsim çakışmalarından kaçının. - Veri kaynağı alan adlarıyla çakışan adları tekrar kullanmayın; motor, referansı belirsiz bir şekilde çözümleyebilir.