0 / 0 / 1
Регистрация: 31.01.2017
Сообщений: 7
1

Выбор кодировки при открытие файла через OpenOffice

28.09.2017, 14:00. Показов 1726. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день. При открытие файла с помощью openoffice получаю иероглифы, необходимо установить дополнительный параметр с выбором кодировки . Как это сделать ?
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
   Попытка
             OpenOffice = Новый ComОбъект("com.sun.star.ServiceManager");
         scr = Новый ComОбъект("MSScriptControl.ScriptControl"); 
    Исключение
        Предупреждение(ОписаниеОшибки() + Символы.ПС + "программа OpenOffice\LibreOffice не установлена на данном компьютере!");
    КонецПопытки;
    
 
 // Думаю где то в этом фрагменте// 
    scr.language = "javascript";
    scr.eval("MassivParametrov = new Array()");
    scr.Charset = "windows-1251" ;
    MassivParametrov = scr.eval("MassivParametrov");
    scr.AddObject("OpenOffice", OpenOffice);
    scr.Charset = "windows-1251" ;
    scr.eval("MassivParametrov[0]=OpenOffice.Bridge_GetStruct('com.sun.star.beans.PropertyValue')");
    scr.eval("MassivParametrov[0].Name='Hidden'");
    scr.eval("MassivParametrov[0].Value=true");
 
 // Думаю где то в этом фрагменте //
 
    Desktop = OpenOffice.CreateInstance("com.sun.star.frame.Desktop"); // Создаем Desktop
    Doc = Desktop.LoadComponentFromURL(ПривестиФайлКУРЛ(Объект.ПустьКФайлу), "_blank", 0, MassivParametrov);
 
    Doc.lockControllers();
    Doc.addActionLock();
 
    Sheets = Doc.GetSheets();
    Лист = Sheets.GetByIndex(0); // Открываем первый лист по индексу
    
    oCell = Лист.GetCellbyPosition(0, 0);
    oCursor = Лист.createCursorByRange(oCell);
    oCursor.GotoEndOfUsedArea(Истина);
    aAddress = oCursor.RangeAddress;
    Объект.Столб = aAddress.EndRow;              /// Количество Столбиков
    Объект.Строки =aAddress.EndColumn;                /// Количество Строк
    
    СчетчикСтолб = 0;
    СчетчикСтрок = 0;
     
    Пока Число(Объект.Столб) >= СчетчикСтрок Цикл
        СчетчикСтолб = 0;      
        Пока Число(объект.Строки) >= СчетчикСтолб цикл     
            Объект.СпискоЗначений.Добавить(Лист.getCellByPosition(СчетчикСтолб, СчетчикСтрок).getText().String());  
            СчетчикСтолб = СчетчикСтолб + 1;
        КонецЦикла;
        СчетчикСтрок = СчетчикСтрок + 1;
    КонецЦикла;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.09.2017, 14:00
Ответы с готовыми решениями:

Выбор кодировки для сохранения BAT-файла
Windows 10 русская редакция - при создании текстовых файлов по умолчанию используется кодировка...

Выбор кодировки при работе с фтп сервером
есть задача - индексировать файлы на фтп-сервере. Основная ее часть готова, но столкнулся с...

Выбор из combobox и открытие файла
расскажите как выбрать какой-нибудь item из ComboBox и по нажатию кнопки "открыть" открыть этот...

Открытие БД и выбор таблицы из INI файла
Собственно есть много БД, в БД может быть одна таблица, а может быть и несколько. На вход...

2
Эксперт 1С
434 / 305 / 92
Регистрация: 28.05.2014
Сообщений: 1,247
28.09.2017, 15:32 2
А если убрать это? scr.Charset = "windows-1251" ;

а вообще вот хороший пример OpenOffice по com https://infostart.ru/public/87317/
0
0 / 0 / 1
Регистрация: 31.01.2017
Сообщений: 7
28.09.2017, 15:40  [ТС] 3
Не обратил внимание , в исходном коде этих строк нету . При запуске с ними вылетает ошибка.

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Попытка
         OpenOffice = Новый ComОбъект("com.sun.star.ServiceManager");
         scr = Новый ComОбъект("MSScriptControl.ScriptControl"); 
    Исключение
        Предупреждение(ОписаниеОшибки() + Символы.ПС + "программа OpenOffice\LibreOffice не установлена на данном компьютере!");
    КонецПопытки;
     
    scr.language = "javascript";
    scr.eval("MassivParametrov = new Array()");
    
        
    MassivParametrov = scr.eval("MassivParametrov");
    scr.AddObject("OpenOffice", OpenOffice);
    
 
    
    scr.eval("MassivParametrov[0]=OpenOffice.Bridge_GetStruct('com.sun.star.beans.PropertyValue')");
    scr.eval("MassivParametrov[0].Name='Hidden'");
    scr.eval("MassivParametrov[0].Value=true");
 
    Desktop = OpenOffice.CreateInstance("com.sun.star.frame.Desktop"); // Создаем Desktop
    Doc = Desktop.LoadComponentFromURL(ПривестиФайлКУРЛ(Объект.ПустьКФайлу), "_blank", 0, MassivParametrov);
 
    Doc.lockControllers();
    Doc.addActionLock();
 
    Sheets = Doc.GetSheets();
    Лист = Sheets.GetByIndex(0); // Открываем первый лист по индексу
    
    
    oCell = Лист.GetCellbyPosition(0, 0);
    oCursor = Лист.createCursorByRange(oCell);
    oCursor.GotoEndOfUsedArea(Истина);
    aAddress = oCursor.RangeAddress;
    Объект.Столб = aAddress.EndRow;              /// Количество Столбиков
    Объект.Строки =aAddress.EndColumn;                /// Количество Строк
    
    СчетчикСтолб = 0;
    СчетчикСтрок = 0;
     
    Пока Число(Объект.Столб) >= СчетчикСтрок Цикл
        СчетчикСтолб = 0;      
        Пока Число(объект.Строки) >= СчетчикСтолб цикл     
            Объект.СпискоЗначений.Добавить(Лист.getCellByPosition(СчетчикСтолб, СчетчикСтрок).getText().String());  
            СчетчикСтолб = СчетчикСтолб + 1;
        КонецЦикла;
        СчетчикСтрок = СчетчикСтрок + 1;
    КонецЦикла;
0
28.09.2017, 15:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.09.2017, 15:40
Помогаю со студенческими работами здесь

Не работает ввод имени файла через fget и открытие через fopen
Уже все перепробовал и в гугле пару часов посидел. Но никак не пойму где проблема допустим в этом...

OpenFileDialog - выбор и открытие файла с расширением exe
Вообщем есть две кнопки Button и один openDialog, первая кнопка обращается к openDialog я выбираю...

Выбор в ComboBox и открытие файла по нажатию кнопки ОК
как реализовать выбор года из ComboBox и по нажатию кнопки ОК открытие xlsx файла в интернете...

Открытие файла через OpenFileDIalog и записать имя файла в переменную
Можно ли в формах Pascal ABC Net, открыв файл через openfiledialog, записать в строковую...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru