Strona 1 z 1

Szybkie otwieranie edycji makra

: pn gru 04, 2017 3:57 pm
autor: antekg
Zamierzałem zrobić makro, które otwiera IDE z Basic'iem z pominięciem menu OO.
Oto rozwiązanie jakie znalazłem:

Kod: Zaznacz cały

createUnoService("com.sun.star.frame.DispatchHelper").executeDispatch(ThisComponent.CurrentController.Frame, ".uno:BasicIDEAppear", "", 0, Array())
Rzeczywiście, IDE otwiera się natychmiast i w edytorze jest Module1 z "Moje makra".
Jednak chciałem od razu edytować makra zapisane wraz z bieżącym dokumentem. Po przestudiowaniu źródeł i eksperymentach doszedłem do następujący kodu:

Kod: Zaznacz cały

Dim args(2) As new com.sun.star.beans.PropertyValue
args(0).Name = "Document"
args(0).Value = ThisComponent.URL
args(1).Name = "LibName"
args(1).Value = "Standard"
args(2).Name = "Name"
args(2).Value = "Module1"

createUnoService("com.sun.star.frame.DispatchHelper").executeDispatch(ThisComponent.CurrentController.Frame, ".uno:BasicIDEAppear", "", 0, args())
Open Basic IDE via macro
https://forum.openoffice.org/en/forum/v ... ar#p340819
Możliwe jest też otwieranie do edycji okien dialogowych, ustawienia kursora edytora na wybranej pozycji, itd.
Mnie ciekawią Wasze doświadczenia z poleceniem BasicIDEAppear. Zwłaszcza to jakie są warianty użycia parametru "Document". Czy można tą metodą wczytać kod z innego dokumentu?