2012-04-11 4 views
1

Я использую Word для построения таблицы, мне нужен один столбец, чтобы быть очень узким, но каждый раз, когда я использую метод Microsoft.Office.Interop.Word.Column.SetWidth для установки ширина, он выбрасывает «значение вне допустимого диапазона» , он работает, если я делаю это более крупным, но очень важно быть таким маленьким, насколько это возможно.установить ширину столбца в слово автоматизации выдает исключение

Кто-то предложил установить интервал и дополнение на ноль, который я сделал, но он по-прежнему бросает за исключением

 table.LeftPadding = 0; 
     table.RightPadding = 0; 
     table.Spacing = 0; 
     table.Columns[4].SetWidth(9f, WdRulerStyle.wdAdjustNone); 

ответ

5

SetWidth параметр взять в точках. Попробуйте

table.Columns[4].SetWidth(
    Globals.ThisAddIn.Application.MillimetersToPoints(9f), 
    WdRulerStyle.wdAdjustNone); 

или использовать этот

table.Columns[4].PreferredWidth = 9f; 
+0

спасибо за ваш ответ, но пример в точках, не миллиметры, предпочтительная шириной свойства выкидывает исключение диапазона, а :( –

+0

Установите этот table.Columns [4] .PreferredWidthType = WdPreferredWidthType.wdPreferredWidthPoints; – Kiru

+0

грязный способ заставить SetWidth() преобразовывать точки в миллиметры и использовать приведенный выше код. – Kiru