大家在使用Excel或Excel平臺的時候,都會遇到這樣的問題,程式開發完了,發現客戶端的螢屏解析度都不一樣,導致顯示的結果不一樣,那如何更好的解決這個問題呢?只需簡單的幾行VBA代碼就可以。
Declare Function GetSystemMetrics32 Lib "user32" _
Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long
Sub auto_open()
Application.ScreenUpdating = False
Dim X As Long, Y As Long
X = GetSystemMetrics32(0) ' 寬度(像素)
Y = GetSystemMetrics32(1) ' 高度(像素)
Dim i, j, k, l
For j = 3 To 32 ’‘’‘’32為資訊區域的列的最大值,需要根據實際情況修改
k = Cells(2, j).ColumnWidth
Cells(2, j).ColumnWidth = k * X / 1024 '將當前解析度的寬度值除以1024,1024為建立模板時正好的螢屏尺寸值。
Next
For i = 5 To 37 ’‘’‘’37為資訊區域的行的最大值,需要根據實際情況修改
l = Cells(i, 3).RowHeight
Cells(i, 3).RowHeight = l * Y / 768
Next
‘’‘’‘通過for回圈來更改每行列的值,但這樣的話,字體不會改變,效果不好也可以通過控制縮放比例的方法ActiveWindow.Zoom = 100 * X / 1024 判斷當前解析度的寬度值與1024的比例關系,放大縮小相應的比例。Application.ScreenUpdating = True
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/109401.html
上一篇:python回圈和gif圖片生成
