1

こんにちは、私は一晩中探していましたが、私の問題を解決するものは何も見つかりません

セル (A:3) を len=53mm Hgt=33mm と定義し、すべてのセル (A:3 から ColLast:RowLast まで) を事前に定義された領域、つまり Awidth=210 の A4 ページに収まるようにサイズ変更したいと考えています。 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 に答える