Управление содержимым документа WinWord для приложения печати значков. Лучшая практика - PullRequest
3 голосов
/ 05 августа 2010

Я должен создать документ winword для приложения для печати значков.

Базовый сценарий следующий: пользователь выбирает сотрудников из списка, нажимает «печать значков», появляется слово winword, позволяющее пользователю сделать несколько изданий перед печатью. Значки должны быть представлены в виде таблицы с некоторыми столбцами. Каждая ячейка таблицы имеет фон изображения (значок), некоторый текст (компания, год), имя пользователя и фотографию пользователя на фоне значка. Также необходимо, чтобы шаблон значка редактировался для пользователя с помощью winword.

Мне не очень нравятся COM-интерфейсы автоматизации MS Word, потому что они довольно медленные, имеют тенденцию зависать. Может быть, я должен поиграть с содержимым документа winword XML через XML DOM. Может быть, есть хорошая бесплатная библиотека, которая упаковывает winword DOM или некоторые библиотеки, поставляемые со Studio 2010, из коробки? Что вы предложите?

Заранее спасибо!

Ответы [ 3 ]

2 голосов
/ 05 августа 2010

Возможно, это не то, что вам нужно, но я совершенно не люблю автоматизировать Office (или другие сторонние приложения) из кода .Net. Это не только грязно, но обычно намного сложнее, чем должно быть. В этом случае Word имеет возможность делать все, кроме того, что позволяет выбирать список сотрудников, поэтому я бы обошел проблему. Вместо того, чтобы приложение создавало документ Word, я бы ...

  1. Настройте документ Word для использования уже встроенных возможностей печати тегов имен из списка, как описано здесь: http://www.ehow.com/how_5085472_make-name-tags-microsoft-word.html
  2. Код программы для записи данных, необходимых для тегов имен, в текстовый файл на основе сотрудников, выбранных в моем пользовательском интерфейсе.
  3. Пусть программа просто загрузит документ Word и запустит макрос, чтобы распечатать теги. (Вы могли бы даже сделать это, используя класс System.Diagnostics.Process для простоты. Это объяснено в этом сообщении из другого форума и в этой записи MSDN .)
2 голосов
/ 05 августа 2010

Я бы выбрал Visual Studio Tools для Office для этого.Вы можете soogle (что означает «поиск SO» - я только что сделал это) тег VSTO на SO для него.Есть плюсы и минусы этого, как и все, но для вашей ситуации, это именно то, что вам нужно. На этой странице есть много хороших статей на эту тему.

2 голосов
/ 05 августа 2010

Вот ссылка на Office XML SDK для манипулирования документами Office 2007/2010.

http://msdn.microsoft.com/en-us/library/bb448854.aspx

Этот SDK облегчает работу с документами Office без установки Word или взаимодействия с COM, нов общем, мне кажется, что для решения некоторых задач требуется немного больше усилий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...