Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] FileRead() и файлы .doc

Ответить
Настройки темы
[решено] FileRead() и файлы .doc

Старожил


Сообщения: 186
Благодарности: 4

Профиль | Отправить PM | Цитировать


Добрый день! Есть такой скрипт:
Код: Выделить весь код
$FilePath="c:\word.doc"
$TextToWrite="Hello! This is some text!"

_FileCreate ( $FilePath ) 

$Open=Fileopen($FilePath,1)
FileWrite($FilePath,$TextToWrite)
FileClose($Open)

$FileRead=FileRead($FilePath)
FileDelete($FilePath)
msgbox(0,"AutoIT",$FileRead)
Здесь я создаю вордовский файл и пишу в него что-то через скрипт, потом читаю - все работает нормально. Но как только я пытаюсь прочитать уже существующий файл ворд, в мсгбоксе вылезает нечитабельное нечто:

Код: Выделить весь код
msgbox(0,"AutoIT",$PathToExistingFile)
Почему файл не читается? Если его открыть через ворд, то там нормальный английский текст. Пробовал делать с FileOpen($PathToExistingFile,0) - не помогает.

Отправлено: 23:42, 15-09-2009

 

Аватара для kaster

Старожил


Сообщения: 367
Благодарности: 91

Профиль | Отправить PM | Цитировать


потому что текстовый файл вордом открыть можно, а вот обратно - нет.
пользуй Word.au3

-------
Русское сообщество пользователей AutoIt
autoit@conference.jabber.ru - Конференция на jabber.ru


Отправлено: 23:56, 15-09-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Аватара для FlatX007

Ветеран


Сообщения: 553
Благодарности: 87

Профиль | Отправить PM | Цитировать


Ты попробуй открыть Word`овский DOC блокнотом ... и сразу поймёш в чём дело

Отправлено: 23:57, 15-09-2009 | #3


Старожил


Сообщения: 186
Благодарности: 4

Профиль | Отправить PM | Цитировать


Цитата kaster:
пользуй Word.au3 »
Какую именно функцию юзать? Там нет ничего вроде _WordRead()

Отправлено: 20:02, 16-09-2009 | #4


Аватара для Medic84

$AutoITer


Автор проектов


Сообщения: 446
Благодарности: 44

Профиль | Отправить PM | Цитировать


А в этом разделе все функции не судьба посмотреть?

Код: Выделить весь код
#include <Word.au3>
$oWordApp = _WordCreate ("")
$oDoc = _WordDocOpen ($oWordApp, @ScriptDir & "\Test.doc")

-------

AutoIT Русское сообщество| Моя лаборатория


Отправлено: 21:14, 16-09-2009 | #5


Старожил


Сообщения: 186
Благодарности: 4

Профиль | Отправить PM | Цитировать


Цитата Medic84:
А в этом разделе все функции не судьба посмотреть?
Код:
#include <Word.au3>
$oWordApp = _WordCreate ("")
$oDoc = _WordDocOpen ($oWordApp, @ScriptDir & "\Test.doc")
------- »
А дальше как?
FileRead($oDoc) не получается прочитать. А чем тогда?
P.S. Мне надо не открыть файл ворд, а присвоить его содержание переменной.

Отправлено: 20:50, 17-09-2009 | #6


Аватара для kaster

Старожил


Сообщения: 367
Благодарности: 91

Профиль | Отправить PM | Цитировать


Цитата evg64:
P.S. Мне надо не открыть файл ворд, а присвоить его содержание переменной. »
ну что можно сказать, крути объектную модель ворда
http://msdn.microsoft.com/en-us/library/bb244515.aspx

-------
Русское сообщество пользователей AutoIt
autoit@conference.jabber.ru - Конференция на jabber.ru


Отправлено: 21:52, 17-09-2009 | #7


Старожил


Сообщения: 186
Благодарности: 4

Профиль | Отправить PM | Цитировать


Я нашел способ)

Код: Выделить весь код
$FilePath1="путь к существующему файлу"
$FilePath2="такой же путь к файлу, но с расширением .txt"

$oWordApp = _WordCreate ("",0,0)
$oDoc = _WordDocOpen ($oWordApp,$FilePath1)
_WordDocSaveAs($oDoc,$FilePath2,2)

$FileRead=FileRead($FilePath2)
msgbox(0,"AutoIT",$FileRead)
_WordQuit($oWordApp)
_WordQuit($oDoc)
filedelete($FilePath2)
P.S. Кстати через filecopy($FilePath1,$FilePath2) не прокатило)
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:29, 17-09-2009 | #8


Аватара для kaster

Старожил


Сообщения: 367
Благодарности: 91

Профиль | Отправить PM | Цитировать


evg64, молодец. любознательный ум это круто

-------
Русское сообщество пользователей AutoIt
autoit@conference.jabber.ru - Конференция на jabber.ru


Отправлено: 22:38, 17-09-2009 | #9


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


evg64, надеюсь у Вас не 100Mb-ные файлы . А почему не так?!
Код: Выделить весь код
#include <Word.au3>
AutoItSetOption("MustDeclareVars", 1)

Local $sSourceFile = "c:\Temp\0001.doc"

Local $oWord       = _WordCreate($sSourceFile, 0, 0)
Local $oDoc        = _WordDocGetCollection($oWord, 0)

MsgBox(0, "Document text", $oDoc.Range.Text)

_WordQuit($oWord, 0)

Exit(0)
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:05, 18-09-2009 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] FileRead() и файлы .doc

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [решено] Windows 7, offiсе 2007 и файлы doc Irbis Microsoft Windows 7 19 05-02-2010 22:55
Доступ - [решено] Не открывает Doc and Set inf-45 Microsoft Windows 2000/XP 6 08-01-2010 02:35
[решено] Как скопировать текст из окна DOC. Ser6720 Хочу все знать 4 16-01-2008 08:31
[решено] Файлы с расширением .doc не открываются вордом cubik Microsoft Windows 2000/XP 5 01-03-2007 13:38
Могут ли вирусы заражать .ехе, doc и другие файлы, DubleZero Хочу все знать 19 15-06-2004 16:15




 
Переход