Вверх ↑
Этот топик читают: Гость
Ответов: 8
Рейтинг: 0
#1: 2017-12-22 08:53:11 ЛС | профиль | цитата
Добрый день.
Помогите пожалуйста примером - как можно считать данные из документа *.doc
или хотя бы пересохранить его в формат *.rtf для дальнейшей обработки.
В программировании я не селён, но очень нужно. Пожалуйста...
карма: 0

0
vip
#1.1контекстная реклама от партнеров
Ответов: 2059
Рейтинг: 131
#2: 2017-12-22 14:57:57 ЛС | профиль | цитата
Shadow76, На кубиках это сделать достаточно сложно.
Мне кажется лучше использовать специально заточенные утилиты.
Вот вариант такого решения https://yadi.sk/d/ob_vwxwa3QrTyt
Поддерживаемые форматы файлов: AZW, AZW3, CHM, DOC, DOCX, EPUB, FB2, HTML, MHT, MOBI, ODT, PDF, PRC, RTF, TXT.
В схеме,вместо Memo, ставишь свой блок для дальнейшей обработки.
Или можно сделать через компонент WinExec, подав на него соответствующую командную строку All2TXT.exe -f "d:\Docs\*.*" -v "d:\Text\" -p "Документ". Результат запишется в текстовый файл.

Редактировалось 1 раз(а), последний 2017-12-22 15:01:29
карма: 6

0
Ответов: 1924
Рейтинг: 172
#3: 2017-12-22 21:34:46 ЛС | профиль | цитата
Можно через VBScript:

Add(Button,2925707,161,154)
{
Left=30
Top=30
link(onClick,1692287:doExecute,[])
}
Add(ODialog,1692287,210,154)
{
StartDir=""
FileName=""
link(onExecute,4861929:toRTF,[])
}
Add(VBJScript,4861929,266,154)
{
WorkPoints=#5:toRTF|
DataPoints=#8:filename|
Script=#22:sub doWork(Data,Index)|57: fn = sys.filename 'Тут мы снимаем данные с верхней точки|68: Set objWord = CreateObject("Word.Application") 'Создаём объект Word|107: Set objDoc = objWord.Documents.Open(Data) 'Открываем документ, имя берётся из потока - это переменная Data|39: objWord.Visible = True 'Видимость окна|0:|98: 'Сохраняем, т.к. больше 1-го параметра, то вызываем без скобок, первый параметр - имя сохранения,|111: 'второй - формат; константа для формата узнаётся из редактора VBA в том же Word нажатием на неё правой кнопкой|22: 'и выбором Quick Info|20: objDoc.SaveAs fn, 6|20: objWord.Quit 'Выход|7:end sub|
UseName=0
link(filename,10266161:Text,[])
}
Add(VisualStrings,10266161,266,119)
{
Lines=#8:word.rtf|
Width=53
}

Word должен быть установлен на компьютере.
Прикрепил справку по компоненту. А константы и функции для работы с Word см. в справке к VBA внутри Word или в интернете.
карма: 9
0
файлы: 1VBJScript2.rar [12.9KB] [556]
Ответов: 5227
Рейтинг: 585
#4: 2017-12-22 23:12:23 ЛС | профиль | цитата
flint2 писал(а):
Shadow76, На кубиках это сделать достаточно сложно.

похоже и ты лёгких путей не искал

3042, всё замечательно, но я лично предпочитаю объявлять переменные за ранее (хотя как бы с этим и интерпретатор должен справляться) но из практики скажу что если скрипт для групповых политик оформлен с нарушением этих правил то мало того что он может не отработать так ещё и вред может нанести.
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 1924
Рейтинг: 172
#5: 2017-12-22 23:56:01 ЛС | профиль | цитата
andrestudio, согласен, скрипт писал впопыхах. Наверное, лучше так:


Add(Button,2925707,329,266)
{
Left=30
Top=30
link(onClick,1692287:doExecute,[])
}
Add(ODialog,1692287,378,266)
{
StartDir=""
FileName=""
link(onExecute,4861929:toRTF,[])
}
Add(VBJScript,4861929,434,266)
{
WorkPoints=#5:toRTF|
DataPoints=#8:filename|
Script=#22:sub doWork(Data,Index)|24: Dim fn, objWord, objDoc|0:|57: fn = sys.filename 'Тут мы снимаем данные с верхней точки|68: Set objWord = CreateObject("Word.Application") 'Создаём объект Word|107: Set objDoc = objWord.Documents.Open(Data) 'Открываем документ, имя берётся из потока - это переменная Data|39: objWord.Visible = True 'Видимость окна|0:|98: 'Сохраняем, т.к. больше 1-го параметра, то вызываем без скобок, первый параметр - имя сохранения,|111: 'второй - формат; константа для формата узнаётся из редактора VBA в том же Word нажатием на неё правой кнопкой|22: 'и выбором Quick Info|20: objDoc.SaveAs fn, 6|20: objWord.Quit 'Выход|7:end sub|
UseName=0
link(filename,10266161:Text,[])
}
Add(VisualStrings,10266161,434,231)
{
Lines=#8:word.rtf|
Width=53
}
карма: 9
0
Ответов: 5227
Рейтинг: 585
#6: 2017-12-23 00:56:23 ЛС | профиль | цитата
3042, ну вот видишь как хорошо соломка лежит
А на самом деле "Кто как говорится не ошибается то нифига и не делает"
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 8
Рейтинг: 0
#7: 2017-12-25 08:55:00 ЛС | профиль | цитата
Большое спасибо всем, - всё получилось...
Всех с наступающим Новым годом!
карма: 0

0
7
Сообщение
...
Прикрепленные файлы
(файлы не залиты)