![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
Console1 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 26.2.2012 Репутация: нет Всего: нет |
На входе имеется word -ий документ(таблица 100 строк, 6 столбцов). Таблица заполнена, также есть массивы (полученные раньше), matr_zaprosov ( на которые есть ответ на запрос к системе) и matr_null ( нет ответа). В них содержатся номера строк из этой таблицы.
Необходимо закрасить в строке ячейку ( в данном случае i - строка и 2 столбец), т.е. есть ответ - делаем гиперссылку на эту строку и этот столбец, нет красим в красный цвет. Проблема - всё получается, но до перехода в новое окно(т.е. таблица занимает 4 вордовских окна, в 1 окне всё красится, но как только переходим в следующее окно --- беда) Как решить эту проблему, заранее спасибо Word.Application ThisApplication = new Microsoft.Office.Interop.Word.Application(); Word.Document Doc = new Microsoft.Office.Interop.Word.Document(); Object fileName = s; Object confirmConversions = Type.Missing; Object writeOnly = 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; Object missing = System.Type.Missing; Object missingValue = Type.Missing; Object oMissingReference = Type.Missing; Object Missing = Type.Missing; ThisApplication.Documents.Open(ref fileName, ref confirmConversions, ref writeOnly, 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); Doc = ThisApplication.Documents.Application.ActiveDocument; for (int i = 0; i < matr_zaprosov.Length; i++) { object unita = Word.WdUnits.wdLine; object extenda = Word.WdMovementType.wdMove; object counta = matr_zaprosov[i] - 1; ThisApplication.Selection.MoveDown(ref unita, ref counta, ref extenda); object unit = Word.WdUnits.wdCell; object extend = Word.WdMovementType.wdMove; object count = 1; ThisApplication.Selection.MoveRight(ref unit, ref count, ref extend); ThisApplication.Selection.Font.ColorIndex = Microsoft.Office.Interop.Word.WdColorIndex.wdGreen; Object address = @"C:\Ответ\" + matr_zaprosov[i].ToString() + ".doc"; Object oRange = ThisApplication.Selection.Range; ThisApplication.Selection.Hyperlinks.Add(oRange, ref address, ref oMissingReference, ref oMissingReference, ref oMissingReference, ref oMissingReference); object unitas = Word.WdUnits.wdStory; object extendas = Word.WdMovementType.wdMove; ThisApplication.Selection.HomeKey(ref unitas, ref extendas); } for (int i = 0; i < matr_null.Length; i++) { object unita = Word.WdUnits.wdLine; object extenda = Word.WdMovementType.wdMove; object countaq = matr_null[i] - 1; ThisApplication.Selection.MoveDown(ref unita, ref countaq, ref extenda); object unit = Word.WdUnits.wdCell; object extend = Word.WdMovementType.wdMove; object count = 1; ThisApplication.Selection.MoveRight(ref unit, ref count, ref extend); ThisApplication.Selection.Font.ColorIndex = Microsoft.Office.Interop.Word.WdColorIndex.wdRed; object unitas = Word.WdUnits.wdStory; object extendas = Word.WdMovementType.wdMove; ThisApplication.Selection.HomeKey(ref unitas, ref extendas); } Object saveChanges = Word.WdSaveOptions.wdSaveChanges; Object originalFormat = Type.Missing; Object routeDocument = Type.Missing; ThisApplication.Quit(ref saveChanges, ref originalFormat, ref routeDocument); |
|||
|
||||
HoTMetaL |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 15.4.2007 Репутация: нет Всего: 4 |
Выложи весь исходник. Лучше в архиве. И научись комментировать код.
Это сообщение отредактировал(а) HoTMetaL - 1.3.2012, 12:58 |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |