Oto rozwiązanie jakie znalazłem:
Kod: Zaznacz cały
createUnoService("com.sun.star.frame.DispatchHelper").executeDispatch(ThisComponent.CurrentController.Frame, ".uno:BasicIDEAppear", "", 0, Array())
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())
https://forum.openoffice.org/en/forum/v ... ar#p340819Open Basic IDE via macro
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?