Я ищу способ извлечения / очистки данных из файлов Word в базу данных. Наши корпоративные процедуры имеют протоколы встреч с клиентами, задокументированные в файлах MS Word, в основном из-за истории и инерции.
Я хочу иметь возможность извлекать элементы действий из этих минут собрания в базу данных, чтобы мы могли получать к ним доступ через веб-интерфейс, превращать их в задачи и обновлять их по мере их выполнения.
Какой лучший способ сделать это:
- Макрос VBA из Word для создания CSV и последующей загрузки в БД?
- Макрос VBA в Word с подключением к БД (как подключиться к MySQL из VBA?)
- Сценарий Python через win32com, затем загрузить в БД?
Последний вариант привлекателен для меня, поскольку веб-интерфейс создается с помощью Django, но я никогда не использовал win32com и не пробовал писать сценарии Word из python.
РЕДАКТИРОВАТЬ: Я начал извлекать текст с VBA, потому что это немного облегчает работу с объектной моделью Word. У меня проблема, хотя - весь текст находится в таблицах, и когда я вытаскиваю строки из ячеек, которые я хочу, я получаю странный маленький символ коробки в конце каждой строки. Мой код выглядит так:
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?