Что нового

открытие DOS документа в word

Sergeich

Чайник
Сообщения
10
Репутация
0
существует проблема:
есть файл с содержимым в 866 кодировке.
при открытии вручную через word появляется окошко "преобразование файла", а когда открываешь программно,
Код:
#include <Word.au3>
$oWordApp = _WordCreate ("")
$oDoc = _WordDocOpen ($oWordApp, @ScriptDir & "\Test.doc")

открывается в win кодировке... подскажите, может кто знает как =)
 

Guezt

Продвинутый
Сообщения
335
Репутация
81
попробуй с параметром открывать
Код:
#include <Word.au3>

$oWordApp = _WordCreate ("")
For $i=0 to 8 Step 1
$oDoc = _WordDocOpen ($oWordApp, @ScriptDir & "\Test.doc","",$i)
MsgBox(0,"", "документ открыт с параметром $i = "& $i)
Next
_WordDocClose($oWordApp)

может какой подойдет к твоему документу
 
Автор
Sergeich

Sergeich

Чайник
Сообщения
10
Репутация
0
пробывал, не подходит, решил проблему другим способом. спс за старания
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
Sergeich
другой способ настолько секретный, что постеснялся тут написать? ;)
 
Автор
Sergeich

Sergeich

Чайник
Сообщения
10
Репутация
0
не секретный. просто использовал ScriptWriter и как бы прошел весь этап запуска. :smile:
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
Sergeich
Тема решена?
Не стесняемся, кнопка не кусается ;)
и еще, укажи точную(ые) версии AutoIt в профиле. В будущем предотвратит от многих вопросов
 

YOgen

Новичок
Сообщения
58
Репутация
5
Так а возможно ли все-таки реализовать открытие dos-документа средствами AutiIt (без всяких скрипт-райтеров)?
 

YOgen

Новичок
Сообщения
58
Репутация
5
Вот пример файла.
Но меня интересует не просто только этот перекодировать разумеется, а сам принцип :whistle:
 

axlwor

Скриптер
Сообщения
657
Репутация
147
как вариант
1. читаем файл в строку
2. перекодируем, если видны крякозяблики. на форуме найди encoding.au3 (или как то так)
3. открываем ворд. вставляем строку

ps. завтра, если будет время, почитаю про ворд. может там какие функции есть :scratch:
 

madmasles

Модератор
Глобальный модератор
Сообщения
7 790
Репутация
2 319
YOgen,
Попробуйте так, у меня (Word 2003) работает.
Код:
#include <Word.au3>
#include <Encoding.au3>

$sFile = @ScriptDir & '\04_pech_2608.txt'

$hFile = FileOpen($sFile)
$sText = FileRead($hFile)
FileClose($hFile)
$sText = _Encoding_866To1251($sText)
$hFile = FileOpen($sFile, 130)
FileWrite($hFile, $sText)
FileClose($hFile)

$oWordApp = _WordCreate('')
$oDoc = _WordDocOpen($oWordApp, $sFile)
 

YOgen

Новичок
Сообщения
58
Репутация
5
madmasles,
Спасибо! Все отлично получилось. :ok:

Вот только почему открывается сначала пустой документ (новый), а потом еще и открываемый документ? Т.е. получается - два окна word-а.

(Win7, Office 2007)
 

madmasles

Модератор
Глобальный модератор
Сообщения
7 790
Репутация
2 319
YOgen [?]
Вот только почему открывается сначала пустой документ (новый), а потом еще и открываемый документ
Это потому, что я невнимательно справку читал. :smile:
Поменяйте на
Код:
$oWordApp = _WordCreate($sFile)
 

YOgen

Новичок
Сообщения
58
Репутация
5
Ай красота ;D
Я думаю что тему можно перемещать в какие-нибудь "Готовые решения" (уж простите, не знаю хорошо структуру сайта :-[ )
Все отлично открывается.

В итоге (за что спасибо madmasles) код выглядит следующим образом:

Код:
#include <Word.au3>
#include <Encoding.au3>

$sFile = @ScriptDir & '\xxx.txt' ; xxx.txt - требуемый файл в Dos-кодировке

$hFile = FileOpen($sFile)
$sText = FileRead($hFile)
FileClose($hFile)
$sText = _Encoding_866To1251($sText)
$hFile = FileOpen($sFile, 130)
FileWrite($hFile, $sText)
FileClose($hFile)

$oWordApp = _WordCreate($sFile)
$oDoc = _WordDocOpen($oWordApp, $sFile)
 
Верх