Вторник, 23.04.2024, 17:00

Bulet, Lighthouse & Reliable

Приветствую Вас Гость

Логин:
Пароль:

Последние статьи!
[09.06.2009][Программирование]
Работа с документами Word в C# (14)
[27.05.2009][Программирование]
Подключение внешних DLL в приложениях Microsoft.NET (3)
[23.05.2009][ПК]
Создание GPRS-подключения в Ubuntu (4)
[20.05.2009][ПК]
Немного о root в Linux (1)
[20.05.2009][ПК]
About Ubuntu Russian (0)


Поиск
Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Меню сайта
Категории каталога
Прочее [4]
Hack [5]
Взлом, брут, фишинг
Программирование [4]
Новости [1]
Электроника [0]
ПК [16]
Мобилы [1]
Прошивка, оптимизация, патчинг и др.
Философия [1]
Мистика [1]
Невероятное, паронормальное и т.п.
Наш опрос
Нужна ли Wap - версия этого проекта вам?
Всего ответов: 56
Мини-чат
300
Главная » Статьи » Программирование

Работа с документами Word в C#
Для работы с документами Office необходимо наличие Visual Studio Tools For Office. Visual Studio 2008 имеет этот компонент. Итак, суть. Для начала нужно подключить сборки (открываем Solution Explorer->References->Add References. Там на вкладке .NET ищем Microsoft.Office.Interop.Word и Office, добавляем их. Если у вас Visual Studio 2005, можете воспользоваться сборками из архива по ссылке (). Сборки из VS2008 но гарантия 100% что они будут работать в VS2005. Далее, в самом начале кода, где подключать модули, дописываем

Code

using Word = Microsoft.Office.Interop.Word;
using Office = Microsoft.Office.Core;

Далее вставляем куда надо следующий код в виде процедуры:

Code

public static string ReadWordDocument(string path)
{
Object filename = path;
  Object confirmConversions = Type.Missing;
  Object readOnly = Type.Missing;
  Object addToRecentFiles = Type.Missing;
  Object passwordDocument = Type.Missing;
  Object passwordTemplate = Type.Missing;
  Object revert = Type.Missing;
  Object writePasswordDocument = Type.Missing;
  Object writePasswordTemplate = Type.Missing;
  Object format = Type.Missing;
  Object encoding = Type.Missing;
  Object visible = Type.Missing;
  Object openConflictDocument = Type.Missing;
  Object openAndRepair = Type.Missing;
  Object documentDirection = Type.Missing;
  Object noEncodingDialog = Type.Missing;
  Word.Application Progr = new Microsoft.Office.Interop.Word.Application();
  Progr.Documents.Open(ref filename,
  ref confirmConversions,
  ref readOnly,
  ref addToRecentFiles,
  ref passwordDocument,
  ref passwordTemplate,
  ref revert,
  ref writePasswordDocument,
  ref writePasswordTemplate,
  ref format,
  ref encoding,
  ref visible,
  ref openConflictDocument,
  ref openAndRepair,
  ref documentDirection,
  ref noEncodingDialog);
  Word.Document Doc= new Microsoft.Office.Interop.Word.Document();
  Doc = Progr.Documents.Application.ActiveDocument;
  object start = 0;
  object stop = Doc.Characters.Count;
  Word.Range Rng = Doc.Range(ref start, ref stop);
  string Result = Rng.Text;
  object sch = Type.Missing;
  object aq = Type.Missing;
  object ab = Type.Missing;
  Progr.Quit(ref sch, ref aq, ref ab);
  return result;
  }

затем для использования:

Code
string doc=ReadWordDocument("C:\\Word.doc");

В результате работы данной функции в переменную doc внесется весь текст, содержащийся в документе C:\Word.doc (если он у вас есть)...

Категория: Программирование | Добавил: MeloMan (09.06.2009)
Просмотров: 19975 | Комментарии: 14 | Рейтинг: 2.8/5 |
Всего комментариев: 141 2 »
1 reliable  
0
Прикольно, я читал что-то подобное, но сам не пробовал...

2 igorrr37  
0
The name 'result' does not exist in the current context

3 Евгений Тархов  
0
re:2 igorrr37 (24.02.2010 15:40)
The name 'result' does not exist in the current context

Ответ: 'result' нужно писать с большой буквы "Result" он же выше объявлен с большой: " string Result = Rng.Text; " Не забываем про чуствительновть к регистру!!!


4 Илья  
0
а если в word-файле есть формулы? они тоже будут сохранены в
string doc=ReadWordDocument("C:\\Word.doc");

как вобще работать в с# с документом word, в котором содержатся ФОРМУЛЫ???
(если формулы написаны с помощью редактора формул)


5 Alex  
0
Как при копировании скопировать также в виде текста ссылки?

6 Роман  
0
Автор мудак

7 Лион  
0
Поддерживаю.... Автор МУДАК!

8 Прохожий  
0
Роман и Лион, где-же вас таких Убогих выращивают? В наше время видимо модно выказывать собственную глупость...

9 Аноним  
0
Полностью согласен с Романом и Лионом.

10 Fedosss  
0
Так я не понял автор Мудак?

1-10 11-14
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]