!!! Как программно просканировать документ Word'a?

Программирование на Visual Basic for Applications
GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 09.07.2004 (Пт) 15:23

Это грубый набросок. По-хорошему, нужно ещё проверять shape.type и потом из буфера брать getdata с учётом формата.
Код: Выделить всё
Option Explicit

Private Sub Command1_Click()
  MakeDesired "c:\ïðîâåðêà.doc", "c:\íîâàÿ ïàïêà\"
End Sub


Private Sub MakeDesired(FileName As String, SaveFolder As String)
  Dim w As Object, wd As Object, t As Object, i As Long
 
  Set w = CreateObject("word.application")
  'w.Visible = True
  Set wd = w.documents.open(FileName)
 
  For Each t In wd.tables
    t.converttotext vbTab
  Next
 
  For Each t In wd.shapes
    t.Select
    w.selection.copyaspicture
    StdFunctions.SavePicture Clipboard.GetData, SaveFolder & t.Name & ".bmp"
  Next
 
  For i = 1 To wd.inlineshapes.Count
    wd.inlineshapes(i).Select
    w.selection.copyaspicture
    StdFunctions.SavePicture Clipboard.GetData, SaveFolder & CStr(i) & ".bmp"
  Next
  Clipboard.Clear
 
  wd.saveas SaveFolder & wd.Name & ".txt", 2 'wdformattext
 
  wd.Close
  w.quit
  Set w = Nothing
End Sub
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 09.07.2004 (Пт) 17:24

Запусти Ворд
Alt+F11
F2
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

MOV
Постоялец
Постоялец
 
Сообщения: 414
Зарегистрирован: 13.03.2004 (Сб) 15:13
Откуда: Санкт-Петербург

Сообщение MOV » 12.07.2004 (Пн) 13:14

А что вы мучаетесь? Открываете файл в двоичном доступе и вперед. Сканите себе наздоровье. (шутка - у меня приступ истерической радости - с SQL в эксцессе доводит :D )

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 13.07.2004 (Вт) 17:20

Ну я ж говорю, проверять type нужно, там метафайлы есть, а есть картинки.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 115

    TopList