Belli alanları yazdırma

Belli alanları yazdırma

#2364 İleti | skuygur | 17 Ekm 2018, 11:47

Merhabalar.
Ben iki buton koyup, butonlara ayrı ayrı yazdırma alanı belirlemek istiyorum ve yazdırmasını istiyorum. Yardımcı olabilir misiniz?
skuygur
 
İleti: 1
Kayıt: 17 Ekm 2018, 11:44
İşletim Sisteminiz: Windows10
LibreOffice Sürümü: 4.4.5.2

Re: Belli alanları yazdırma

#2367 İleti | Hamurcu | 24 Ekm 2018, 14:05

Merhaba,

Bunun için aşağıdaki kodu kullanabilirsiniz.

Kod: Tümünü seç
Sub Yazdir

' Yazdırma alanı için bir matris tanımlıyoruz
Dim YazdirmaAlani(0) as New com.sun.star.table.CellRangeAddress

' Çalışma kitabımızı bir değişkene atıyoruz
CalismaKitabi = ThisComponent

' Calişma kitabındaki tüm Çalışma Sayfalarını bir değişkene atıyoruz
Sayfalar = CalismaKitabi.Sheets

' Çalışma Kitabındaki Toplam Sayfa Sayısını buluyoruz
SayfaNo = Sayfalar.Count

' 0. Sayfadan başlayarak, tüm sayfalardaki daha önceden belirlenmiş yazdırma alanlarını iptal ediyoruz
For i = 0 to SayfaNo - 1

   Sayfa = Sayfalar.getByIndex(i)

   ' Array() boş bir matristir ve daha önceden belirli bir yazdırma alanı varsa üzerine boş matrisi yazarak sıfırlıyoruz   
   Sayfa.setPrintAreas(Array())

Next i

' Yazdırmak için hangi sayfayı seçeceğimizi ayarlıyoruz
YazdirilacakSayfa = Sayfalar.getByName("Çizelge1")

' Seçtiğimiz sayfadaki yazdırılacak alanı seçiyoruz
SecilenAlan = YazdirilacakSayfa.getCellRangeByName("B2:E6")

' Seçtiğimiz sayfadaki, seçtiğimiz alanı yazdırma alanı olarak atıyoruz
YazdirmaAlani(0) = SecilenAlan.RangeAddress

' Yazdırma alanını ayarlıyoruz
YazdirilacakSayfa.setPrintAreas(YazdirmaAlani()) 

' Yazıdırıyoruz
CalismaKitabi.Print(Array())

End Sub


Test etmek için yukarıdaki kod'un son satırında yeralan YAZDIR komutunu ' işareti ile Açıklama satırına dönüştürün (Yani etkisiz hale getirin) ve makroyu çalıştırın.

Kod: Tümünü seç
' Yazıdırıyoruz
' CalismaKitabi.Print(Array())


Sonrasında Çizelgenize baktığınızda (Baskı Önizleme ile) yazdırılacak alanın seçildiğini göreceksiniz.

İyi çalışmalar.
Kullanıcı avatarı
Hamurcu
 
İleti: 144
Kayıt: 06 Ağu 2012, 00:14
Konum: İstanbul
İşletim Sisteminiz: Windows 10
LibreOffice Sürümü: 6.x


Calc - Hesap Tablosu

Kimler çevrimiçi

Kayıtlı kullanıcılar: Google [Bot]

cron