Вот замечательный небольшой пост на c-charpcorner от Кришнана Л.Н., который дает базовый код для извлечения текста из документа Word с использованием сборок Word Primary Interop.
По сути, вы получаете свойство «WholeStory» из документа Word, вставляете его в буфер обмена, затем вытаскиваете из буфера обмена при преобразовании его в текстовый формат. Предполагается, что шаг буфера обмена выполняется для удаления форматирования.
Для PowerPoint вы делаете аналогичную вещь, но вам нужно циклически перемещаться по слайдам, затем для каждого слайд-цикла по фигурам и захватывать свойство "TextFrame.TextRange.Text" в каждой фигуре.
Для Excel, поскольку Excel может быть источником данных OleDb, проще всего использовать ADO.NET. Вот хороший пост Лорана Бюньона , в котором описывается эта техника.