Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#1 2. 10. 2015 08:45:58

martan1484
Člen
Registrace: 30. 12. 2010
Příspěvků: 14

Tisk PDF - chyba u StoreToURL

Ahoj,
mám problém. Vytvořil jsem makro podle seriálu "Malá makra" na export listu do PDF. Používám to, když chci opakovaně vytvářet PDF a zároveň měnit data (aby každé výsledné PDF obsahovalo jiná data, ale vzor byl vždy stejný).

Kód:

Dim act as integer
Dim SoNe as integer

Sub TiskPoznamek

                doc = thisComponent 'vybere aktivní sešit
                
                min = doc.Sheets(0).getCellRangeByName("K29").Value
                max = doc.Sheets(0).getCellRangeByName("K30").Value
                
                SoNe = msgbox("Tisknout i samostatně So a Ne?",4,"SOBOTA + NEDĚLE")

                For act = min to max
                               doc.sheets(2).getCellRangeByName("A1").Value = act 'zadá hodnotu z proměnné act do buňky A1
                               Tisk2pdf
                Next act
                
                Beep()
                print ("Hotovo")
                
End Sub

Sub Tisk2pdf
                
                doc = ThisComponent
                
                rok = doc.sheets(0).getCellRangeByName("D1").Value

                if SoNe = 6 then
                               k = 8
                               else
                                               k = 6
                               endif     
                
                for i = 5 to k
                               select case i
                                               case 5
                                                               j = "PD"
                                               case 6
                                                               j = "SN"
                                               case 7
                                                               j = "So"
                                               case 8
                                                               j = "Ne"
                                               end select                                                         
                               adresa = ConvertToURL("Z:\Nezval\Vlaky_Pozn\"+rok+"\"+act+"_"+j+".pdf")
                               list = doc.sheets(i)          
                               
                               dim podminka_filtru (0) as new com.sun.star.beans.PropertyValue
                               podminka_filtru (0).Name = "Selection"
                               podminka_filtru (0).Value = list                
                
                               dim podminka_exportu (1) as new com.sun.star.beans.PropertyValue

                               podminka_exportu (0).Name = "FilterName"
                               podminka_exportu (0).Value = "calc_pdf_Export"  ' pro Writer pak writer_pdf_Export
                               podminka_exportu (1).Name = "FilterData"
                               podminka_exportu (1).Value = podminka_filtru  'jen list se ZJŘ
                
                               thisComponent.storeToURL(adresa,podminka_exportu())
                               next i
                               
End Sub

Při druhém kole, se mi zasekne na řádku

thisComponent.storeToURL(adresa,podminka_exportu())

chybou.

Chyba:
SnipImage.JPG

Prosím o pomoc.

Martin

Offline

#2 2. 10. 2015 09:48:20

martan1484
Člen
Registrace: 30. 12. 2010
Příspěvků: 14

Re: Tisk PDF - chyba u StoreToURL

Ještě doplňuji soubor.

Offline

#3 2. 10. 2015 10:00:43

ludviktrnka
Člen
Registrace: 9. 7. 2009
Příspěvků: 697

Re: Tisk PDF - chyba u StoreToURL

v prvním kroku bych si před exportem dal vytisknout adresu print adresa - zda se tam něco neděje ...


LibreOffice 5.4.

Offline

#4 2. 10. 2015 11:41:50

martan1484
Člen
Registrace: 30. 12. 2010
Příspěvků: 14

Re: Tisk PDF - chyba u StoreToURL

Tak zdá se, že problém byl v začlenění procedury samotného exportu do PDF do cyklu.
Zkusil jsem dát vlastní tisk do samostatného makra a cyklus zvlášť. Z cyklu pak byla volána procedura exportu do PDF.
Předpokládám, že docházelo prostě jen k zahlcení nějaké paměti nebo něco podobného.

Sub TiskCyklus
	
	doc = ThisComponent
	
	rok = doc.sheets(0).getCellRangeByName("D1").Value

	if SoNe = 6 then
		k = 8
		else
			k = 6
		endif	
	
	for i = 5 to k
		select case i
			case 5
				j = "PD"
			case 6
				j = "SN"
			case 7
				j = "So"
			case 8
				j = "Ne"
			end select	
		Tisk2pdf	
		next i
End Sub		
		
Sub Tisk2pdf						

	doc = thisComponent
	adresa = ConvertToURL("Z:\Nezval\Vlaky_Pozn\"+rok+"\"+act+"_"+j+".pdf")
	list = doc.sheets(i)	
	
	dim podminka_filtru (0) as new com.sun.star.beans.PropertyValue
	podminka_filtru (0).Name = "Selection"
	podminka_filtru (0).Value = list	

	dim podminka_exportu (1) as new com.sun.star.beans.PropertyValue
	podminka_exportu (0).Name = "FilterName"
	podminka_exportu (0).Value = "calc_pdf_Export"  ' pro Writer pak writer_pdf_Export
	podminka_exportu (1).Name = "FilterData"
	podminka_exportu (1).Value = podminka_filtru  'jen list se ZJŘ
	
	thisComponent.storeToURL(adresa,podminka_exportu())
		
End Sub

Offline

#5 5. 10. 2015 13:37:54

ludviktrnka
Člen
Registrace: 9. 7. 2009
Příspěvků: 697

Re: Tisk PDF - chyba u StoreToURL

Pokud pracujete na AOO, můžete zkusit LO. Mám podobnou proceduru, která mi AOO vždy takřka spolehlivě shodila, na LO jede bez problémů.

... a ještě by mohlo pomoci vložit pauzu - wait 1000

Editoval ludviktrnka (5. 10. 2015 13:41:38)


LibreOffice 5.4.

Offline

Zápatí