1 (изменено: 1srafel, 2024-02-16 22:31:26)

Тема: AHK: Чтение DOC-файла

Как получить в переменную тело DOC-файла так, как он выглядит при открытии через простой текстовый файл? То есть, это старый DOC-формат, в котором текст виден в блокноте. Вот так вместо большого содержимого, выводится несколько символов в юникоде:

FileRead, fbody, %File%
msgbox, %fbody%

Пробовал еще так:

FileRead, fbody, *P65001 %File%

Был код, работающий с DOC-файлами, но интересно именно получение текста напрямую.

2

Re: AHK: Чтение DOC-файла

1srafel



oWord := ComObjCreate("Word.Application")
doc := oWord.Documents.Open(A_Desktop "\Сопроводительное письмо.doc") 
MsgBox % doc.Range.Text
doc.Close(false)
oWord.Quit()
ExitApp

3

Re: AHK: Чтение DOC-файла

Текст нужен не как в открытом doc-файле, а как в открытом Блокноте (простом текстовом редакторе).

4

Re: AHK: Чтение DOC-файла

Попробуйте так:

filePath := A_Desktop . "\test.doc"
FileGetSize, size, % filePath
FileRead, data, *c %filePath%
str := ""
offset := 0
while offset < size {
    part := StrGet(&data + offset, "cp0")
    str .= part = "" ? " " : part
    offset += part = "" ? 1 : StrLen(part)
}
MsgBox % Clipboard := str
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder