WWW.ИСХОДНИКИ.РУ cpp.sources.ru
java.sources.ru web.sources.ru soft.sources.ru
jdbc.sources.ru asp.sources.ru api.sources.ru

  Форум на исходниках
  Visual Basic
  Word

СПРОСИТЬ  ОТВЕТИТЬ
профайл | регистрация | faq

Автор Тема:   Word
aker13 опубликован 11-01-2002 15:44 MSK   Click Here to See the Profile for aker13   Click Here to Email aker13  
kak iz wordovskogo fayla vzyat bukvu ili slovo i vstavit v textbox
Creedence Sergey опубликован 16-01-2002 15:52 MSK     Click Here to See the Profile for Creedence Sergey  Click Here to Email Creedence Sergey     
Для этого нужно знать составные файлы OLE (чем я и занимаюсь...)
Весь текст документа хранится в потоке с именем WordDocument - оттуда его и извлекай...
aker13 опубликован 16-01-2002 16:46 MSK     Click Here to See the Profile for aker13  Click Here to Email aker13     
da ya toje znayu chto eti dela delayutsya tak, mne prosto nujno bilo boleye konkretnoye resheniye

no spasibo za otklik,

Lamer опубликован 19-01-2002 20:16 MSK     Click Here to See the Profile for Lamer  Click Here to Email Lamer     
Вот Creedence Sergey привязался с OLE-файлами.
Ворд регистрирует в реестре кучу своих классов, с помощью них можно полностью управлять приложением "ворд". Вот пример получения текста документа:

Dim wrd As Object
Dim text As String
Set wrd = CreateObject("Word.Application")
wrd.Documents.Open "c:\somedoc.doc"
text = wrd.Documents("somedoc.doc").Content.text
' или
' text = wrd.Documents(1).Content.text (не рекомендую)
' или
' text = wrd.ActiveDocument.Content.text
wrd.Documents("somedoc.doc").Close False
' или индекс, активдок и т. п.
wrd.Quit
Set wrd = Nothing 'чтобы не засорять память

Теперь text содержит текст документа. Также, из документов можно вытаскивать таблицы (подкласс Table), рисунки, гиперссылки и многое другое.

Кстати, через классы из реестра можно работать со многими OLE-файлами.

Lamer опубликован 19-01-2002 22:13 MSK     Click Here to See the Profile for Lamer  Click Here to Email Lamer     
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Creedence Sergey опубликован 20-01-2002 00:17 MSK     Click Here to See the Profile for Creedence Sergey  Click Here to Email Creedence Sergey     
1. Но этот пример из разряда "автоматизация OLE" будет работать только, если на компьютере пользователя установлен Word. Это то же самое, что макрос в VBA в ворде, только хранится в отдельном файле. А мое предложение будет работать везде.
2. И с какими же это OLE файлами можно так работать? Можно ли создать так новый зайл, что-то в него записать, создать хранилища, подхранилища, считать...
AlexR опубликован 20-01-2002 16:17 MSK     Click Here to See the Profile for AlexR  Click Here to Email AlexR     
to Creedence Sergey: ты только составными OLE-файлами занимаешься?
Lamer опубликован 20-01-2002 21:48 MSK     Click Here to See the Profile for Lamer  Click Here to Email Lamer     
1. Я думаю, что если человеку нужна программа для автоматизации работы Word, у него на машине будет стоять Word! А если ему нужно будет просто прочитать документ Word, то он точно поставит Word!
2. Работать можно с OLE-файлами соответствующими некоторому приложению. Но в виндах также есть о объект OLE для работы с OLE-файлами в общем.
rivitna опубликован 20-01-2002 22:14 MSK     Click Here to See the Profile for rivitna  Click Here to Email rivitna     
Я согласен с Creedence Sergey, в определенных моментах нужно стремиться к независимости приложений.

Когда я писал на VC программку просмотра исходников макросов в документах Word 6, MS Office 97-2000, тоже страмился к независимости. Прекрасно обошелся без функций OLE. С файлами работаю на бинарном уровне, вытаскивая потоки вручную.
В результате программка прекрасно работает на платформе Win32, используя только 5 системных dll-ок:
Kernel32.dll, User32.dll, GDI32.dll, ComDlg32.dll, ComCtl32.dll

alpeugene опубликован 19-02-2002 00:03 MSK     Click Here to See the Profile for alpeugene  Click Here to Email alpeugene     
У меня вопрос к Creedence Sergey :
Я как раз пытаюсь прочитать текст (и только) из stream-а "WordDocument"
Я получил fib.fcMin,fib.fcMax и fib.cbText
Но как получить начало и конец текста в stream-e (считанные fib.fcMin,fib.fcMax и fib.cbText
мне не помогают,поскольку отсчитывают смещение с начала файла)?
И еще вопрос - как из данного stream -а получить русский текст(а не какую-то галиматью)?
Помогите!!!!
Заранее благодарен ,alpeugene(alpeugene@hotmail.com)

СПРОСИТЬ  ОТВЕТИТЬ
Перейти:


E-mail | WWW.ИСХОДНИКИ.RU

Powered by: Ultimate Bulletin Board, Freeware Version 5.10a
Purchase our Licensed Version- which adds many more features!
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.