ลองดูตัวอย่างนี้นะครับ ไม่รู้จะเวิคไหมนะ
โค๊ดจะแสดงผล ในมุมมอง Print Preview หรือ มุมมองเหมือนพิมพ์นะครับ
โค๊ดจะอยู่ใน Event Report Detail นะครับ
Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer) 'ตรง รายละเอียด ถ้าเป็นภาษาอังกฤษให้เปลี่ยนเป็น Detail_Print แทนรายละเอียด
Dim ctl As Control, strText As Variant, strName As String
Me.ScaleMode = 1
For Each ctl In Me.Detail.Controls 'ตรง รายละเอียด ถ้าเป็นภาษาอังกฤษให้เปลี่ยนเป็น Me.Detail แทนรายละเอียด
If ctl.ControlType = acTextBox Then
If ctl.Name = "
CustomerName" Then 'สีแดงคือชื่อ textbox ที่ต้องการปรับขนาดข้อความ
strName = ctl.Name
If Nz(ctl.Tag, "") = "" Then
ctl.Tag = ctl.FontSize
End If
ctl.FontSize = ctl.Tag
Me.FontSize = ctl.FontSize
strText = ctl.Value
If Len(strText) > 0 Then
Do Until TextWidth(strText) < ctl.Width
ctl.FontSize = ctl.FontSize - 1
Me.FontSize = ctl.FontSize
Loop
Do Until TextHeight(strText) < ctl.Height - (ctl.Height * 0.26)
ctl.FontSize = ctl.FontSize - 1
Me.FontSize = ctl.FontSize
Loop
End If
End If
End If
Next ctl
End Sub