Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2014-02-17 21:38:20

  Bitels - Użytkownik

Bitels
Użytkownik
Zarejestrowany: 2012-10-31

Open office makro exportujące do pdf [ SOLVED ]

Witam panowie i z góry przepraszam za potworka którego stworzyłem na podstawie materiałów znalezionych w sieci ale orłem w pisaniu skryptów/makr nigdy nie byłem. Chciałem ułatwić mojej kobicie tworzenie raportów ale chyba poległem. Nie wiem czemu to nie działa i nie wiem jak to zmusić do działania. Prawidłowo wykonuje 1 przebieg a podczas drugiego podświetal mi linie:

Kod:

Doc.storeToURL(sURL,aArgs)

i krzyczy
" Błąd uruchomieniowy języka BASIC.
Wystąpił wyjątek
Type: com.sun.star.lang.IllegalArgumentException
Message: sequence element is not assignable by given value!"

Dodam jeszcze że oczywiście po wywaleniu pętli for i elementów od niej zależnych wszystko działa jak trzeba. A oto samo makro:

Kod:

 Sub Pdf_file

  Dim I, Doc As Object, dec As Object, Cel As Object

Doc = ThisComponent
 For I = 1 To 247
  
  dec = Doc.Sheets.getByName("Decyzja_nie_wyk") 'wyróżnienie arkusza nr1
  Cel = dec.getCellByPosition(3,2) 'wyróżnienie komórki A1
Cel.setValue(I)
  dec = Doc.Sheets.getByName("Decyzja_wyk") 'wyróżnienie arkusza nr1
  Cel = dec.getCellByPosition(3,2) 'wyróżnienie komórki A1
 Cel.setValue(I)
 
  dec = Doc.Sheets.getByName("Decyzja_nie_wyk")
  Cel = dec.getCellByPosition(15, 0)
   
  sURL = "file:///home/kasia/Dokumenty/Praca/decyzje/"& Cel.getString()&".pdf"

' arguments for "FilterData"
  Dim aArg(7) As New com.sun.star.beans.PropertyValue
  aArg(0).Name = "RestrictPermissions"
  aArg(0).Value = True
  aArg(1).Name = "PermissionPassword"
  aArg(1).Value = "pass"
  aArg(2).Name = "Changes"
  aArg(2).Value = 0
  aArg(3).Name = "EncryptFile"
  aArg(3).Value = True
 ' aArg(4).Name = "DocumentOpenPassword"
 'aArg(4).Value = "pass"'hasło
  aArg(4).Name = "EnableCopyingOfContent"
  aArg(4).Value = False
  aArg(5).Name = "Printing"
  aArg(5).Value = 0
  aArg(6).Name = "EnableTextAccessForAccessibilityTools"
  aArg(6).Value = False

  ' arguments for stroreToURL method
  Dim aArgs(1) As New com.sun.star.beans.PropertyValue
  aArgs(0).Name = "FilterName"
  aArgs(0).Value = "calc_pdf_Export"
  aArgs(1).Name = "FilterData"
  aArgs(1).Value = aArg

  Doc.storeToURL(sURL,aArgs)
   Next I
  
End Sub

Edit:

Przespałem się z problemem i mnie oświeciło. Aż dziwne, że nikt tego nie wychwycił... należy przenieść linijki:

Kod:

Dim aArg(7) As New com.sun.star.beans.PropertyValue

oraz

Kod:

Dim aArgs(1) As New com.sun.star.beans.PropertyValue

ponad pętle for i działa jak ta lala. Jeszcze tylko ostatnie szlify i będzie gotowe :D

Ostatnio edytowany przez Bitels (2014-02-19 21:02:09)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)

[ Generated in 0.010 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00011 SET CHARSET latin2
0.00004 SET NAMES latin2
0.00144 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.117.152.26' WHERE u.id=1
0.00082 UPDATE punbb_online SET logged=1715937810 WHERE ident='18.117.152.26'
0.00054 SELECT * FROM punbb_online WHERE logged<1715937510
0.00026 SELECT topic_id FROM punbb_posts WHERE id=257501
0.00107 SELECT id FROM punbb_posts WHERE topic_id=25284 ORDER BY posted
0.00082 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=25284 AND t.moved_to IS NULL
0.00009 SELECT search_for, replace_with FROM punbb_censoring
0.00120 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=25284 ORDER BY p.id LIMIT 0,25
0.00129 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=25284
Total query time: 0.00768 s