Здравствуйте, друзья!
На моем ноутбуке перестали работать макросы по открытию файла:
Ругается на строку 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
Цитата: 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", должно работать.
Здравствуйте!
Прошу прощения, нечаянно стерла букву в строчке 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
Цитата: Ammaretto от 11 февраля 2021, 04:34Но всё равно интересно, почему перестало работать.
Вам Rami в #1 ответил - макрос работает, если исправить опечатку. Если интересно (а это похвально), пройдитесь по отладчику и расскажите нам, в чем же было дело.