Импорт csv в calc

Автор pfantom, 21 февраля 2018, 12:10

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

pfantom

Здравсвтвуйте. Есть фаил openoffice  и текстовый фаил(генерирует программа каждый день). Помогите с написанием макроса
Есть код который в Libre работает. А в openoffice не хочет обрабатывать FilterOptions, по этому кракозябры.
Подскажите что сделать . можно даже на новый лист вставку через InsertSheetFromFile, но там много не нужных окон вылезает.

Sub ImportCSV 'импорт диапазона oSource по адресу oCellAddress
Dim oCellAddress as new com.sun.star.table.CellAddress, sURL$, oSource$, FilterName$, FilterOptions$
   oCellAddress.Sheet=0
   oCellAddress.Row=6
   oCellAddress.Column=0
   fName = FileOpenDialog ("Выберите файл")
    sURL = fName
   oSource="A6:Z67"
   FilterName="Text - txt - csv (StarCalc)"
   FilterOptions="44,34,0,1"
   ThisComponent.AreaLinks.insertAtPosition(oCellAddress,sUrl,oSource,FilterName,FilterOptions)
   ThisComponent.AreaLinks.removeByIndex(0)
End Sub

function FileOpenDialog(title as String) as String
filepicker = createUnoService("com.sun.star.ui.dialogs.FilePicker")
filepicker.Title = title
filepicker.execute()
files = filepicker.getFiles()
FileOpenDialog=files(0)
End function


rami

Попробуйте в вышеприведённом коде заменить параметры фильтра FilterOptions на: FilterOptions="9,34,34,1"

pfantom

результат тот же. Не обрабатывается эта строка=(

bigor

Во вложенном файле совсем не тот макрос, который в посте. Который смотреть?
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

pfantom

смотреть который сдесь

rami

Я думаю, проблема в файле. Какие форматы файлов может генерировать ваша программа?

bigor

Цитата: rami от 21 февраля 2018, 12:49Я думаю, проблема в файле.
Если открывать через StarDesktop.loadComponentFromUrl(sUrl,"_blank",0, args())
то нормально открывается, фильтр работает

Как вариант открыть, а потом уже из таблицы нужные данные вытащить в шаблон :)
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

economist

Если файл каждое утро называется одинаково и лежит там же - то Лист - Вставить из Файла - CSV - Связать
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

bigor

Цитата: economist от 21 февраля 2018, 15:17Связать
еще бы запрос на обновление связей убрать как-то
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

rami

Цитата: Bigor от 21 февраля 2018, 16:56еще бы запрос на обновление связей убрать как-то
Если это не шутка, то так:

bigor

#10
Поставил "Всегда", при открытии файла все равно спрашивает. И раньше тоже пробовал - не срабатывало.
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

rami

Ну, тогда писать макрос и вешать на событие открытия документа.

pfantom

Цитата: Bigor от 21 февраля 2018, 15:11
Цитата: rami от 21 февраля 2018, 12:49Я думаю, проблема в файле.
Если открывать через StarDesktop.loadComponentFromUrl(sUrl,"_blank",0, args())
то нормально открывается, фильтр работает

Как вариант открыть, а потом уже из таблицы нужные данные вытащить в шаблон :)

этот врорде вариант пробовал он работает, но открывает новый документ как я помню.

pfantom

Цитата: rami от 21 февраля 2018, 14:49
Я думаю, проблема в файле. Какие форматы файлов может генерировать ваша программа?
кроме этого не какие

pfantom

Цитата: economist от 21 февраля 2018, 17:17
Если файл каждое утро называется одинаково и лежит там же - то Лист - Вставить из Файла - CSV - Связать
фаил выбираем сами, имя разное