Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   Парсер по документу WORD (http://forum.oszone.net/showthread.php?t=151473)

Frost_Imp 25-09-2009 15:14 1227260

Парсер по документу WORD
 
Всем доброго времени суток!
Очередной вопрос от лентяя =)
Есть у меня документ Word. Необходимо:
1. Найти в нем определенный текст
2. Скопировать в буфер (или присвоить значение переменной) текста, который находится правее найденного (до конца строки).
Одна из проблем в том, что документ изначально не doc, а rtf. Имеет это принципиальное значение или нет? Ведь в конечном итоге открывается документ Вордом.
Вторая проблемка... Есть, конечно, UDF-ка для Ворда, но для меня, убогого, там слишком сложно. Вот я и думаю, может есть у кого-нибудь что-нибудб более менее рабочее?

Stomper 25-09-2009 16:26 1227321

Парсит файл c:\123.rtf и выводит номера телефонов, расположеные после кодового слова "Телефон:" :)
Код:

#include <Word.au3>
$tel_digs = "0123456789()-+ "
$srch_phrs= "Телефон:"
$sSourceFile = "c:\123.rtf"
$oWord      = _WordCreate($sSourceFile, 0, 0)
$oDoc        = _WordDocGetCollection($oWord, 0)
$strs=$oDoc.Range.Text
_WordQuit($oWord, 0)
While StringInStr($strs,$srch_phrs)<>0
  $n1=StringInStr($strs,$srch_phrs)
  $n1=$n1+StringLen($srch_phrs)
  $n2=$n1
  While StringInStr($tel_digs,StringMid($strs,$n2,1))<>0
    $n2=$n2+1
  WEnd
  $OutStr=StringMid($strs,$n1,$n2-$n1)
  MsgBox(0,"",$OutStr)
  $strs=StringTrimLeft($strs,$n2)
Wend
Exit(0)


Sp01LeR 30-09-2009 13:30 1231172

Я думаю что для лучшей совместимости форматов вместо
Код:

_WordCreate($sSourceFile, 0, 0)
лучше открыть документ:
Код:

[...]
$sSourceFile = "c:\123.rtf"
$oWord = _WordCreate("")
$oDoc = _WordDocOpen ($oWord, $sSourceFile)
[...]


Frost_Imp 30-09-2009 15:55 1231268

Благодарю, код Stomper-а работает. Очень помогло!
Единственное - можно ли доработать код дляя поиска по нескольким ключевым словам?

Sp01LeR 30-09-2009 19:30 1231403

Цитата:

Цитата Frost_Imp
по нескольким ключевым словам? »

По каким - тем что слева или справа?
Можно поподробней пожалуйста(и желательно с примерами)...

zabidon 03-08-2011 17:47 1725397

столкнулся с похожей проблемой,есть доковский файл с кучей мусора,хочу из него сделать табличку в excel.

подскажите как изменить скрипт Stomper'a, чтобы после заданного ключевого слова данные записывались в столбец таблицы

заранее благодарен


Время: 17:35.

Время: 17:35.
© OSzone.net 2001-