После обработки данных для некоторых файлов требуется сохранение под определенным именем для того чтобы в последствие провести в исходном файле другую обработку, не выгружая его снова или же просто для последующего упорядочивания таких отчетов. К имени файла можно прибавить текущую дату, время, текстовое содержимое какой либо ячейки и др.
Рассмотрим код:
sub Save_fil
dim document as object
dim dispatcher as object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
If (Not GlobalScope.BasicLibraries.isLibraryLoaded("Tools")) Then
GlobalScope.BasicLibraries.LoadLibrary("Tools")
End If
oDoc = ThisComponent
sDocURL = oDoc.getURL()
Puti = DirectoryNameoutofPath(sDocURL,"/")
dim args1(2) as new com.sun.star.beans.PropertyValue
args1(0).Name = "URL"
args1(0).Value = Puti & "/Проверка операций Внутренние перемещения " & ThisComponent.Sheets (1).getCellByPosition(0, 0).String & " .xls"
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:SaveAs", "", 0, args1())
end sub
Прокомментируем:
Sub Save_filе
' Определяем переменные документа и диспетчера (стандартные функции)
dim document as object
dim dispatcher as object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
' Обязательная проверка нужного нам плагина в библиотеке Tools (стандартно)
If (Not GlobalScope.BasicLibraries.isLibraryLoaded("Tools")) Then
GlobalScope.BasicLibraries.LoadLibrary("Tools")
End If
oDoc = ThisComponent
sDocURL = oDoc.getURL()
'Получаем текущую директорию - файл будет сохранен в ту же папку что и исходный
Puti = DirectoryNameoutofPath(sDocURL,"/")
dim args1(2) as new com.sun.star.beans.PropertyValue
args1(0).Name = "URL"
' Определяем полный путь с именем будущего файла. К переменной Puti прибавится текстовое
' имя и в данном случае содержимое ячейки А1 листа 2. Расширение указывать обязательно.
' в данном случае - стандартно - xls
args1(0).Value = Puti & "/Проверка операций Внутренние перемещения " & ThisComponent.Sheets (1).getCellByPosition(0, 0).String & " .xls"
' Вызываем сам диспетчер сохранения.
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:SaveAs", "", 0, args1())
end sub
Задача: Сохраните файл Реестр документов по МХ как "Реестр из ТС" + содержимое ячейки А1 первого листа. в данной ячейке заранее пропишите наименование ГМ
Укажем заодно дополнительные функции сохранения:
ThisComponent.store() - просто сохраняет файл с текущим именем (сохраняет изменения)
ThisComponent.Close(True) - закрывает текущий файл (без сохранения!) - очень полезная функция. когда файл не нужен сразу после обработки.
Рассмотрим код:
sub Save_fil
dim document as object
dim dispatcher as object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
If (Not GlobalScope.BasicLibraries.isLibraryLoaded("Tools")) Then
GlobalScope.BasicLibraries.LoadLibrary("Tools")
End If
oDoc = ThisComponent
sDocURL = oDoc.getURL()
Puti = DirectoryNameoutofPath(sDocURL,"/")
dim args1(2) as new com.sun.star.beans.PropertyValue
args1(0).Name = "URL"
args1(0).Value = Puti & "/Проверка операций Внутренние перемещения " & ThisComponent.Sheets (1).getCellByPosition(0, 0).String & " .xls"
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:SaveAs", "", 0, args1())
end sub
Прокомментируем:
Sub Save_filе
' Определяем переменные документа и диспетчера (стандартные функции)
dim document as object
dim dispatcher as object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
' Обязательная проверка нужного нам плагина в библиотеке Tools (стандартно)
If (Not GlobalScope.BasicLibraries.isLibraryLoaded("Tools")) Then
GlobalScope.BasicLibraries.LoadLibrary("Tools")
End If
oDoc = ThisComponent
sDocURL = oDoc.getURL()
'Получаем текущую директорию - файл будет сохранен в ту же папку что и исходный
Puti = DirectoryNameoutofPath(sDocURL,"/")
dim args1(2) as new com.sun.star.beans.PropertyValue
args1(0).Name = "URL"
' Определяем полный путь с именем будущего файла. К переменной Puti прибавится текстовое
' имя и в данном случае содержимое ячейки А1 листа 2. Расширение указывать обязательно.
' в данном случае - стандартно - xls
args1(0).Value = Puti & "/Проверка операций Внутренние перемещения " & ThisComponent.Sheets (1).getCellByPosition(0, 0).String & " .xls"
' Вызываем сам диспетчер сохранения.
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:SaveAs", "", 0, args1())
end sub
Задача: Сохраните файл Реестр документов по МХ как "Реестр из ТС" + содержимое ячейки А1 первого листа. в данной ячейке заранее пропишите наименование ГМ
Укажем заодно дополнительные функции сохранения:
ThisComponent.store() - просто сохраняет файл с текущим именем (сохраняет изменения)
ThisComponent.Close(True) - закрывает текущий файл (без сохранения!) - очень полезная функция. когда файл не нужен сразу после обработки.
Комментариев нет:
Отправить комментарий