在word自动化中设置列宽会引发异常

Mah*_*iry 1 c# vsto word-automation word-vba c#-4.0

我正在使用Word自动化构建一个表,我需要一个非常窄的列,但每次我使用Microsoft.Office.Interop.Word.Column.SetWidth方法来设置宽度时,它会抛出"超出范围的值Exception"如果我把它变成一个更大的值,它就可以工作但是它必须尽可能小

有人建议将间距和填充设置为零,我做了,但它仍然抛出异常

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

Kir*_*iru 5

SetWidth以点为参数.试试这个

table.Columns[4].SetWidth(
    Globals.ThisAddIn.Application.MillimetersToPoints(9f), 
    WdRulerStyle.wdAdjustNone);
Run Code Online (Sandbox Code Playgroud)

或使用此

table.Columns[4].PreferredWidth = 9f;
Run Code Online (Sandbox Code Playgroud)