1

大家好,我整夜都在寻找,找不到任何可以解决我问题的东西

我将一个单元格 (A:3) 定义为 len=53mm Hgt=33mm ,现在我想调整适合预定义区域的所有单元格(从 A:3 到 ColLast:RowLast )的大小,即 A4 页面,其中 Awidth=210 和Bhight=310 已指定

还有为什么当我使用以下代码打印单元格时

Sub SetColumnWidthMM(ColNo As Long, mmWidth As Double)
' changes the column width to mmWidth
Dim w As Single
    If ColNo < 1 Or ColNo > 255 Then Exit Sub
    Application.ScreenUpdating = False
    w = Application.CentimetersToPoints(mmWidth / 10)
    While Columns(ColNo + 1).Left - Columns(ColNo).Left - 0.1 > w
        Columns(ColNo).ColumnWidth = Columns(ColNo).ColumnWidth - 0.1
    Wend
    While Columns(ColNo + 1).Left - Columns(ColNo).Left + 0.1 < w
        Columns(ColNo).ColumnWidth = Columns(ColNo).ColumnWidth + 0.1
    Wend
    End Sub

打印的单元格会根据我使用的打印机类型改变大小...... ??

4

2 回答 2

0

请注意,不同的打印机具有不同的边距。因此,您必须期望不同打印机中相同内容的不同布局。

总是看看PageSetup.*Margin

最好不要更改列宽,更改页面设置缩放。

顺便说一句,你想用你的代码实现什么?

于 2013-08-21T14:44:19.160 回答
0

不言自明,我希望:

With Worksheets("sheetname").PageSetup
    .PaperSize = xlPaperA4 'Just to ensure we are using A4
    FullPageWidth_Points = Application.CentimetersToPoints(21#)
    AvailablePageWidth_Points = FullPageWidth_Points - .LeftMargin - .RightMargin
    AvailablePageWidth_Centimeters = AvailablePageWidth_Points /  Application.CentimetersToPoints(1#)
    MaxNumberOfCells = Int(AvailablePageWidth_Points - CellsWidth_Points)
End With
于 2013-08-21T15:45:45.240 回答