7,762
社区成员
发帖
与我相关
我的任务
分享
Option Explicit
Function GetPrinterString(ByVal pStr As String, pLength As Long, _
Optional pFontName As String = "宋体", Optional pFontSize As Long = 12 _
) As String
Dim sLen As Long
sLen = Len(pStr)
Printer.FontName = pFontName
Printer.FontSize = pFontSize
While Printer.TextWidth(pStr) > pLength
pStr = Mid(pStr, 1, sLen - 1)
sLen = sLen - 1
Wend
GetPrinterString = pStr
End Function
Private Sub Command1_Click()
Dim s As String
s = "ABCDefwefwefwefwef"
Debug.Print GetPrinterString(s, 5000, pFontSize:=38)
Debug.Print GetPrinterString(s, 5000, pFontSize:=28)
s = "恰似一江春水向东流"
Debug.Print GetPrinterString(s, 5000, pFontSize:=38)
Debug.Print GetPrinterString(s, 5000, pFontSize:=28)
s = "abc一江春22水向33东流"
Debug.Print GetPrinterString(s, 5000, pFontSize:=38)
Debug.Print GetPrinterString(s, 5000, pFontSize:=28)
End Sub