영업 진술 :
폭 : 8.28 (160 픽셀) 신장 24.6 (41 개 픽셀), 폰트
엑셀 어플리케이션 GUI가 같은 셀의 크기를 나타낸다 Arial 20 pt입니다.
첫째 날 명확하게 다음 어플리케이션 GUI는 경우, 이러한 요소 중 어떤 무관 등 폰트 크기, 화면 크기, 줌의 소수 측정 화소 측정 열 너비와 높이를 나타낸다 Excel 열 너비는 8.43이고, 은 항상이고 64 픽셀은입니다. 둘째로, Excel의 버전 (현재 2010)과 내가 기억할 수있는 모든 이전 버전의 표준 열 너비가 8.43과 동일하기 때문에 약간 혼란 스럽습니다. 픽셀; 마찬가지로 표준 행 높이가 15 인 경우는 20 픽셀이며 OP의 예와 일치하지 않습니다.
한 포스터는 "왜?"라고 물었습니다. 이유 중 하나는 열 너비 또는 행 높이를 조정할 경우 Excel에서는 개의 이산 단위에 픽셀이라는 이름을 사용하기로 결정했습니다. 어쩌면 그들은 초기 버전의 픽셀과 관련이 있을지 모르지만 사용 된 단위만큼 랜덤하게 보입니다. 8.43은 무엇입니까, 인치, 피카입니까? 트윕이 아니라 확실합니다! 여기서 이것을 십진 단위이라고합니다.
어쨌든, 모든 열 너비가 1.00 이상인 경우 해당 이산 픽셀 단위는 10 진수 단위의 1/7입니다. 기괴하게도 1.00 이하의 열 너비는 12 단위로 나뉩니다. 2.00
0.08, 0.17, 0.25, 0.33, 0.42, 0.5, 0.58, 0.67, 0.75, 0.83, 0.92, 1.00,
1.14, 1.29, 1.43, 1.57, 1.71, 1.86, 2.00
19 개 화소 대등 다음과 같다 : 따라서, 2.00 소수점 유닛까지의 불연속 폭이다. 예, 당신이 불신앙으로 머리를 흔들면서 멈추지 만, 그것이 그들이 그것을 만든 방법입니다.
다행히도 행 높이가보다 균일 해 보이며 1 픽셀은 10 진수 단위가 0.75입니다. 10 픽셀 7.50; 표준 행 높이 20 픽셀 15.00; 등등.
Function ColumnWidthToPixels(ByVal ColWidth As Single) As Integer
Select Case Round(ColWidth, 4) ' Adjust for floating point errors
Case Is < 0:
ColumnWidthToPixels = ColumnWidthToPixels(ActiveSheet.StandardWidth)
Case Is < 1:
ColumnWidthToPixels = Round(ColWidth * 12, 0)
Case Is <= 255:
ColumnWidthToPixels = Round(12 + ((Int(ColWidth) - 1) * 7) _
+ Round((ColWidth - Int(ColWidth)) * 7, 0), 0)
Case Else:
ColumnWidthToPixels = ColumnWidthToPixels(ActiveSheet.StandardWidth)
End Select
End Function
Function PixelsToColumnWidth(ByVal Pixels As Integer) As Single
Select Case Pixels
Case Is < 0:
PixelsToColumnWidth = ActiveSheet.StandardWidth
Case Is < 12:
PixelsToColumnWidth = Round(Pixels/12, 2)
Case Is <= 1790:
PixelsToColumnWidth = Round(1 + ((Pixels - 12)/7), 2)
Case Else:
PixelsToColumnWidth = ActiveSheet.StandardWidth
End Select
End Function
그 펑키 값은 트윕 단위 측정 (아마 http://en.wikipedia.org : 그냥 경우에 당신이 이제까지이 무작위로 개별 단위 사이의 변환이 필요합니다, 여기에 VBA 기능의 몇 그렇게 할 수 있습니다/wiki/Twip). 트윕을 픽셀로 변환하려면이 Microsoft 문서를 확인하십시오. http://support.microsoft.com/kb/94927 – ray