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!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1

Użytkownik


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:
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:
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 SubEdit:
Przespałem się z problemem i mnie oświeciło. Aż dziwne, że nikt tego nie wychwycił... należy przenieść linijki:
Dim aArg(7) As New com.sun.star.beans.PropertyValue
oraz
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
Strony: 1