Я ищу способ извлечь/скопировать данные из файлов Word в базу данных. Наши корпоративные процедуры содержат протоколы встреч с клиентами, задокументированные в файлах MS Word, в основном из-за истории и инерции.Извлечение данных из MS Word
Я хочу, чтобы иметь возможность вытащить элементы действия из этих протоколов собрания в базу данных, чтобы мы могли получить к ним доступ из веб-интерфейса, превратить их в задачи и обновить их по мере их завершения.
Какой лучший способ сделать это:
- VBA макрос из внутри Слова для создания CSV, а затем загрузить в БД?
- VBA macro в Word с подключением к БД (как подключиться к MySQL из VBA?)
- Python скрипт через win32com затем загружается в DB?
Последний привлекателен для меня, поскольку веб-интерфейс строится с Django, но я никогда не использовал win32com или не пытался использовать скрипт Word из python.
EDIT: Я начал извлекать текст с помощью VBA, потому что это облегчает работу с объектной моделью Word. У меня проблема: все текст в таблицах, и когда я вытаскиваю строки из CELLS, которые я хочу, в конце каждой строки появляется странный маленький символ. Мой код выглядит так:
sFile = "D:\temp\output.txt"
fnum = FreeFile
Open sFile For Output As #fnum
num_rows = Application.ActiveDocument.Tables(2).Rows.Count
For n = 1 To num_rows
Descr = Application.ActiveDocument.Tables(2).Cell(n, 2).Range.Text
Assign = Application.ActiveDocument.Tables(2).Cell(n, 3).Range.Text
Target = Application.ActiveDocument.Tables(2).Cell(n, 4).Range.Text
If Target = "" Then
ExportText = ""
Else
ExportText = Descr & Chr(44) & Assign & Chr(44) & _
Target & Chr(13) & Chr(10)
Print #fnum, ExportText
End If
Next n
Close #fnum
Что случилось с маленькой контрольной коробкой символов? Является ли какой-то код символа, который встречается у Word?
Спасибо, Джоэл! Я понял, что могу использовать Left() для разметки конца маркера ячейки, но это не показалось мне элегантным. Кроме того, спасибо за другой указатель. Я не эксперт-программист и, безусловно, не гуру VBA. –