horizo​​ntalAlignment不适用于xlFill

时间:2013-12-18 14:16:57

标签: vba ms-access excel-vba access-vba excel

我试图让excel中的列符合我给它的列大小,我正在尝试使用属性horizo​​ntalAlignment来执行此操作。

我可以使用xlCenter,但是我需要做xlFill,但xlFill没有值。

With objExcelAssist.worksheet.columns("N:N")
    .horizontalAlignment = xlCenter
End With

我尝试过:

With objExcelAssist.worksheet.columns("N:N")
    .horizontalAlignment = xlFill
End With

With objExcelAssist.worksheet.columns("N:N")
    .horizontalAlignment = xlFillDefault
End With

到目前为止没有任何成功,我使用错误的名字填写吗?

--------------编辑------------------

所有shrinkToFit都让我的文字更小

enter image description here

我需要它只是因为它不会影响下一行而不会影响文本大小

1 个答案:

答案 0 :(得分:2)

这是你在尝试的吗?

With objExcelAssist.Worksheet.Columns("N:N")
    .HorizontalAlignment = xlFill
    .ShrinkToFit = True
End With

仅供参考:您可以使用的其他东西是

    .HorizontalAlignment
    .VerticalAlignment 
    .WrapText
    .Orientation 
    .AddIndent
    .IndentLevel
    .ShrinkToFit 
    .ReadingOrder
    .MergeCells

修改

通过评论进行跟进

最后我可以确定的问题是你在使用MS-Excel进行绑定,因此MS-Access无法识别这些常量。在这种情况下你有两个选择

A. 声明代码顶部的常量。例如

Const xlFill As Integer = 5
'~~> Other COnstants You can check their values in Excel Object Browser
Const xlBottom As Integer = -4107
Const xlContext As Integer = -5002
Const xlCenter As Integer = -4108

等等。 OR

B。将常量替换为其值。例如

With objExcelAssist.Worksheet.Columns("N:N")
    .HorizontalAlignment = 5
    .VerticalAlignment = -4107
    .WrapText = False
    .Orientation = 0
    .AddIndent = False
    .IndentLevel = 0
    .ShrinkToFit = False
    .ReadingOrder = -5002
    .MergeCells = False
End With