pomoc z makro

Dyskusje dotyczące tworzenia makropoleceń, pisania skryptów oraz programowania przy użyciu UNO
bierek
Posty: 5
Rejestracja: śr lip 01, 2009 10:20 pm

pomoc z makro

Post autor: bierek »

Witam.Nie jestem zbyt dobrym programistą:P. Chcialem napisać makro ktore usuwa wiszące spójniki/wyrazy typu na, do pod , z konca wierszy. Nagralem makro ktore zamienia spacja_znak_spacja na spacja_znak_twardaspacja i chcialem je modyfikowac. Mialem zamiar zrobic tablice ktorej elementami bedą poszczególne spojniki itp , zrobic to tak żeby kod makra nie był zbyt długi i łatwo mozna bylo dodawać nowe słowa. Na razie zrobilem coś takiego ale działa to tylko dla ostatniego elementu tablicy - reszty nie zamienia.Robilem to tez "for" ale wynik jest podobny;/ nie zamienia wszystkiego tylko jedno... Prosilbym o pomoc :)

Kod: Zaznacz cały

Sub Main
dim args1(9) as new com.sun.star.beans.PropertyValue
dim document   as object
dim dispatcher as object
dim liczba as integer
dim wartosc as string
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

liczba=0
static literki(3) As String
 literki(0) = "a"
 literki(1) = "w"
 literki(2) = "i"
 literki(3) = "z"
 

do while liczba < 4
literki(liczba)=wartosc
args1(1).Name = "SearchItem.SearchString"
args1(1).Value = " " & wartosc & " "
args1(2).Name = "SearchItem.ReplaceString"
args1(2).Value = " " & wartosc & "tutajjesttwardaspacja "
args1(3).Name = "SearchItem.Locale"
args1(3).Value = 255
args1(4).Name = "SearchItem.ChangedChars"
args1(4).Value = 2
args1(5).Name = "SearchItem.DeletedChars"
args1(5).Value = 2
args1(6).Name = "SearchItem.InsertedChars"
args1(6).Value = 2
args1(7).Name = "SearchItem.TransliterateFlags"
args1(7).Value = 1280
args1(8).Name = "SearchItem.Command"
args1(8).Value = 3
args1(9).Name = "Quiet"
args1(9).Value = true
liczba=liczba+1
loop

dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args1())
End Sub
Ostatnio zmieniony pt lip 03, 2009 10:59 am przez Jan_J, łącznie zmieniany 1 raz.
Powód: formatowanie kodu
Jan_J
Posty: 4617
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: pomoc z makro

Post autor: Jan_J »

W sprawie Twojego postu -- skrypt działać nie ma prawa:
* co to jest wartość?
Ogólna rada: najpierw napisz mały fragment, przetestuj, a potem rozbudowuj. W ten sposób zyskasz doświadczenie. Tworząc całość od razu, łatwiej się pogubisz.

W sprawie problemu, z którym pragniesz sobie poradzić -- na wątku http://user.services.openoffice.org/pl/ ... p?f=8&t=63 toczy się znacznie ogólniejsza dyskusja na ten sam temat. Może warto ją wykorzystać.

W sprawie pisania -- używaj znacznika [ code ] do kodu źródłowego. Zachowuje formatowanie tekstu i wyróżnia go optycznie.
JJ
LO (25.2|24.8) ∙ Python (3.12|3.10) ∙ Unicode 16 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
ODPOWIEDZ