Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org
6 Март 2021, 01:08
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Новости
:
Доступно и просто
о работе в офисных пакетах
Начало
Помощь
Поиск
Войти
Регистрация
задать вопрос
Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org
>
Главная категория
>
Basic
> Тема:
Ошибка при вызове GlobalScope.BasicLibraries.LoadLibrary("Tools")
Страниц:
1
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Ошибка при вызове GlobalScope.BasicLibraries.LoadLibrary("Tools") (Прочитано 347 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Ammaretto
Участник
Offline
Сообщений: 12
Ошибка при вызове GlobalScope.BasicLibraries.LoadLibrary("Tools")
«
Стартовое сообщение
:
10 Февраль 2021, 06:33 »
Здравствуйте, друзья!
На моем ноутбуке перестали работать макросы по открытию файла:
Ругается на строку GlobalScope.BasicLibraries.LoadLibrary("Tools") , если закомментировать , то на OpenDocument(ConvertToURL(PFolderName), mArgs() )
Просила проверить коллег-макросы работают.
Может кто сталкивался с такой проблемой. Прилагаю скриншот ошибки и файл с макросом
Option VBASupport 1
Option Explicit
Option Compatible
sub openfiles
Dim PFolderName As String
Dim oFilePicker, oCtl, oSheet as object
Dim FileName, i, j
GlobalScope.BasicLibraries.LoadLibrary("Tools")
oFilePicker = createUnoService("com.sun.star.ui.dialogs.FilePicker")
oFlePicker.Title = "Выберите файл"
If oFilePicker.execute = com.sun.star.ui.dialogs.ExecutableDialogResults.OK Then
FileName = oFilePicker.Files(0)
PFolderName = ConvertFromURL(FileName)
End If
'определяем имя файла и открывае книгу
Dim pBook As String
Dim wb As object
Dim ot As Boolean
ot = False
i = InStrRev (PFolderName,"\")
pBook = Right(PFolderName, Len(PFolderName) - i)
Dim mArgs(0) as New com.sun.star.beans.PropertyValue
mArgs(0).Name = "MacroExecutionMode"
mArgs(0).Value = 0
wb = OpenDocument(ConvertToURL(PFolderName), mArgs() )
ot = True
end sub
test.ods
(9.98 Кб - загружено 4 раз.)
тест.png
(52.02 Кб, 1107x445 - просмотрено 8 раз.)
Записан
rami
Гуру
Offline
Пол:
Сообщений: 3 061
iMac, LibreOffice и Apache OpenOffice
Re: Ошибка при вызове GlobalScope.BasicLibraries.LoadLibrary("Tools")
«
Ответ #1
:
10 Февраль 2021, 08:11 »
Цитата: Ammaretto от 10 Февраль 2021, 06:33
Ругается на строку GlobalScope.BasicLibraries.LoadLibrary("Tools") , если закомментировать , то на OpenDocument(ConvertToURL(PFolderName), mArgs() )
Странно, а должно ругаться на
oFlePicker
:
Код:
oFilePicker = createUnoService("com.sun.star.ui.dialogs.FilePicker")
oFlePicker.Title = "Выберите файл"
Option Explicit
требует определения всех переменных, а
oFlePicker
не определена, потому что ошибка (в этом ценность Option Explicit).
Если есть библиотека "Tools", должно работать.
Записан
Здесь Вы можете внести свой посильный вклад в развитие Форума
Ammaretto
Участник
Offline
Сообщений: 12
Re: Ошибка при вызове GlobalScope.BasicLibraries.LoadLibrary("Tools")
«
Ответ #2
:
11 Февраль 2021, 04:34 »
Здравствуйте!
Прошу прощения, нечаянно стерла букву в строчке oFilePicker.Title . Поправила, ругалась на OpenDocument
Открыла файл с помощью Loadcomponentfromurl-все заработало.
Но всё равно интересно, почему перестало работать...
Option VBASupport 1
Option Explicit
Option Compatible
sub openfiles
Dim PFolderName As String
Dim oFilePicker, oCtl, oSheet as object
Dim FileName, i, j, oDeskTop
' GlobalScope.BasicLibraries.LoadLibrary("Tools")
oFilePicker = createUnoService("com.sun.star.ui.dialogs.FilePicker")
oFilePicker.Title = "Выберите файл"
If oFilePicker.execute = com.sun.star.ui.dialogs.ExecutableDialogResults.OK Then
FileName = oFilePicker.Files(0)
PFolderName = ConvertFromURL(FileName)
End If
'определяем имя файла и открывае книгу
Dim pBook As String
Dim wb As object
Dim ot As Boolean
ot = False
i = InStrRev (PFolderName,"\")
pBook = Right(PFolderName, Len(PFolderName) - i)
Dim mArgs(0) as New com.sun.star.beans.PropertyValue
mArgs(0).Name = "MacroExecutionMode"
mArgs(0).Value = 0
oDeskTop=CreateUnoService("com.sun.star.frame.Desktop")
' wb = OpenDocument(ConvertToURL(PFolderName), mArgs() )
wb = oDeskTop.Loadcomponentfromurl(ConvertToURL(PFolderName),"_blank",0,mArgs())
ot = True
end sub
Записан
sokol92
Форумчанин
Offline
Пол:
Сообщений: 308
Re: Ошибка при вызове GlobalScope.BasicLibraries.LoadLibrary("Tools")
«
Ответ #3
:
11 Февраль 2021, 12:12 »
Цитата: Ammaretto от 11 Февраль 2021, 04:34
Но всё равно интересно, почему перестало работать.
Вам Rami в #1 ответил - макрос работает, если исправить опечатку. Если интересно (а это похвально), пройдитесь по отладчику и расскажите нам, в чем же было дело.
Записан
Владимир.
Страниц:
1
Вверх
Печать
Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org
>
Главная категория
>
Basic
> Тема:
Ошибка при вызове GlobalScope.BasicLibraries.LoadLibrary("Tools")
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Новости и события
-----------------------------
=> Новости
-----------------------------
Главная категория
-----------------------------
=> Общее
===> Установка и настройка
=> Writer
=> Calc
=> Base
=> Impress
=> Draw
=> Math
=> Basic
=> Локализация
=> Дополнения и расширения
=> Документация
-----------------------------
Проекты
-----------------------------
=> MyOOo.ru
===> Обсуждение статей
-----------------------------
О форуме и жизни
-----------------------------
=> Разговоры обо всём
=> IT
=> О форуме
Загружается...