Использую RAD Studio 10.1 Berlin.
Возникла вот такая задача:
Есть word документ в котором большое количество таблиц.
Нужно просмотреть документ от начала и до конца и при встрече таблицы прочитать данные из 1 столбца 1 строки. Если там написано "Таблица", тогда
Нужно прочитать данные 2 столбца, с 3 строки и до конца таблицы.
Как это можно сделать?
Понимаю, что задача большая - буду рад любым примерам кода.
Пример рабочего кода
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
wdApp, wdDocs, wdDoc : Variant;
file_name:string;
temp_string:AnsiString;
begin
file_name:=ExtractFilePath( Application.ExeName )+'\test.doc';
//Пытаемся запустить MS Word и получить ссылку на объект Application.
//- Это корневой объект в объектной структуре MS Word.
try
wdApp := CreateOleObject('Word.Application');
except
ShowMessage('Не удалось запустить MS Word. Действие отменено.');
Exit;
end;
//Если требуется, делаем видимым окно MS Word.
wdApp.Visible := false;
//Ссылка на коллекцию документов.
wdDocs := wdApp.Documents;
//Попытка открыть выбранный файл и получить ссылку на объект документа.
wdDoc := wdDocs.Open(FileName:=file_name);
{
CurTable:=ActiveDocument.Tables(1);
CurTable.Cell(10,20).Range.Text:=Text;
goto end_of_this;
}
//Читаем текст документа и записываем его в Мемо.
temp_string:=wdDoc.Range.Text;
//Закрываем MS Word.
wdApp.Quit;