Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > С# Word и диагональные границы


Автор: Drabuna 30.10.2009, 12:50
Есть программа которая генерирует определенные отчеты в ворде. Вот столкнулся с такой проблемой - у нас есть таблица, и надо в некоторые ячейки сделать перечеркнутыми.
Если это делать ручками, то я выбираю ячейку, жму границы и заливка, и выбираю "диагональная сверху вниз" и "диагональная снизу вверх".
Обычно, это делается через table.Cell(i,j).Range.Borders, но чего то не могу найти там диагональных линий. Может кто-то знает как.

Код

using Word = Microsoft.Office.Interop.Word;

        public void buildTable()
        {
            Object oMissing = System.Reflection.Missing.Value;
            Word.Application oWord = new Word.Application();
            oWord.Visible = true;
            Word.Document oDoc = new Word.Document();
            oDoc = oWord.Documents.Add(ref oMissing, ref oMissing, ref oMissing, ref oMissing);
            Object start = Type.Missing;
            Object end = Type.Missing;
            start = oWord.Selection.StoryLength - 1;
            end = oWord.Selection.StoryLength - 1;
            Word.Range rng = oDoc.Range(ref start, ref end);

            oWord.Selection.Font.Bold = 0;
            oWord.Selection.Font.Size = 10;
            oDoc.Tables.Add(rng, 2, 3, ref oMissing, ref oMissing);
            Word.Table myTable = oDoc.Tables[1];
            myTable.Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter;
            myTable.Range.Cells.VerticalAlignment = Microsoft.Office.Interop.Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;
            myTable.Columns[1].Width = 400;
            myTable.Columns[2].Width = 50;
            myTable.Columns[3].Width = 50;

            myTable.Columns[1].Borders.InsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle;
            myTable.Columns[1].Borders.OutsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle;

            myTable.Cell(1, 1).Range.Text = "Тест:";
            myTable.Cell(1, 1).Range.Bold = 1;
        }

Автор: Любитель 30.10.2009, 12:54
Borders[Word.WdBorderType.wdBorderDiagonalDown]

Автор: Drabuna 30.10.2009, 13:04
Доу я нуб.
Спасибо большое  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)