Ошибка при вызове GlobalScope.BasicLibraries.LoadLibrary("Tools")

Автор Ammaretto, 10 февраля 2021, 06:33

0 Пользователи и 1 гость просматривают эту тему.

Ammaretto

Здравствуйте, друзья!
На моем ноутбуке перестали работать макросы по открытию файла:
Ругается на строку 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

rami

Цитата: 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

Здравствуйте!
Прошу прощения, нечаянно стерла букву в строчке 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

Цитата: Ammaretto от 11 февраля 2021, 04:34Но всё равно интересно, почему перестало работать.
Вам Rami в #1 ответил - макрос работает, если исправить опечатку. Если интересно (а это похвально), пройдитесь по отладчику и расскажите нам, в чем же было дело.
Владимир.