Pomoc Collabora Office 24.04
Głównym celem modułu Services jest zapewnienie dostępu do metody CreateScriptService, którą można wywołać w skryptach użytkownika w celu utworzenia instancji usług zaimplementowanych przy użyciu frameworka ScriptForge.
W terminologii ScriptForge usługa to zbiór metod i właściwości, które można wykorzystać do wspólnego celu. Na przykład usługa String udostępnia metody manipulowania ciągami znaków, podczas gdy usługa FileSystem umożliwia manipulowanie plikami i folderami.
Moduł Services biblioteki ScriptForge udostępnia dodatkowe metody, które są używane wewnętrznie do rejestrowania dostępnych usług lub przez programistów zainteresowanych rozszerzaniem ScriptForge poprzez tworzenie nowych usług. Jedyną metodą odpowiednią dla skryptów użytkownika jest CreateScriptService.
Ta metoda służy do tworzenia instancji usługi ScriptForge, aby można ją było wywoływać w skryptach użytkownika.
Zwrócona wartość to obiekt podstawowy lub Nothing, jeśli wystąpił błąd.
svc.CreateScriptService(service: str, [arg0: any] ...): svc
service: nazwa usługi identyfikowana jako ciąg znaków w formacie "library.service":
library to biblioteka Basic, która musi istnieć w GlobalScope. Wartość domyślna to "ScriptForge".
service jest jedną z usług zarejestrowanych przez bibliotekę ScriptForge.
arg0, ...: lista argumentów wymaganych przez wywoływaną usługę.
Jeśli pierwszy argument odnosi się do menedżera zdarzeń, wówczas arg0 jest obowiązkowy i musi być obiektem UNO reprezentującym zdarzenie podane jako argument makra użytkownika.
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
' Wystarczy wykonać raz
Dim svc As Object
Set svc = CreateScriptService("Array")
' Odnosi się do usługi "ScriptForge.Array" lub SF_Array
Set svc = CreateScriptService("ScriptForge.Dictionary")
' Zwraca nową, pustą instancję klasy słownika; część "ScriptForge." jest opcjonalna
Set svc = CreateScriptService("SFDocuments.Calc")
' Odnosi się do usługi Calc, zaimplementowanej w powiązanej bibliotece SFDocuments
Set svc = CreateScriptService("Timer", True)
' Zwraca instancję klasy Timer, która rozpoczyna się natychmiast
Set svc = CreateScriptService("SFDocuments.DocumentEvent", oEvent)
' Odnosi się do usługi DocumentEvent zaimplementowanej w powiązanej bibliotece SFDocuments
' Zwraca instancję klasy Document, która uruchomiła zdarzenie
from scriptforge import CreateScriptService
svc = CreateScriptService("Array")
svc = CreateScriptService("ScriptForge.Dictionary")
svc = CreateScriptService("SFDocuments.Calc")
svc = CreateScriptService("Timer", True)
svc = CreateScriptService("SFDocuments.DocumentEvent", oEvent)
Skrypty Pythona obsługują argumenty słów kluczowych podczas wywoływania CreateScriptService. Poniższy przykład ilustruje tę koncepcję poprzez utworzenie instancji usług Timer i Document przy użyciu argumentów słów kluczowych.
from scriptforge import CreateScriptService
# Timer
my_timer = CreateScriptService("Timer", start = True)
# Document
my_doc = CreateScriptService("Document", windowname = "some_file.ods")
Aby pisanie skryptów w Pythonie było bardziej płynne, ScriptForge udostępnia usługę Basic, która pozwala skryptom Pythona wywoływać zbiór metod o tej samej składni i znaczeniu, co ich homonimiczne natywne funkcje Basic.
Poniższy przykład tworzy instancję usługi Basic i wywołuje metodę MsgBox, która jest odpowiednikiem funkcji MsgBox dostępnej w Basic:
from scriptforge import CreateScriptService
bas = CreateScriptService("Basic")
bas.MsgBox("Hello World!")
Należy pamiętać, że instancja usługi Basic musi zostać utworzona w skryptach Pythona przy użyciu metody CreateScriptService.