Excel VBA의 사용자 폼에서 진행률 표시 줄 이미지의 너비가 올바르지 않게 설정하는 데 문제가 있습니다.진행률 표시 줄의 채우기 비율을 계산하십시오.
나는 userform을 가지고 있으며 그 형태는 라벨과 이미지입니다.
이미지의 최대 폭은 intNumberOfGetRows 1 내지 제 루프 330
는 I는 각각 1,000 레코드 청크 진행을 표시하는 화상의 폭 특성을 업데이트 할 (이 경우 64) 인 대형 레코드 세트는 배열에 저장되고 csv 파일에 기록됩니다. intRecord 13 때
For intRecord = 1 To intNumberOfGetRows + 1 ' outer loop
' put the data in an array and print to file
arrContacts = adoRsMailshotAccConData.GetRows(intRows)
With fsOutputFile
For iDx = 0 To UBound(arrContacts, 2)
.WriteLine arrContacts(0, iDx)
Next
'.Close
End With
sMsg = "Number " & intRecord & " of " & intNumberOfGetRows
Application.StatusBar = sMsg
With frmProgress
.lblProgress.Caption = sMsg
.imgProgress.Width = (intRecord/intNumberOfGetRows) * 330
DoEvents
.Repaint
End With
DoEvents
Next
는 그 이미지의 폭이 66이어야 수단 가득 화상의 약 20 %이어야한다, 그래서이 해낸 : 여기
내 코드 :330 * (intRecord/intNumberOfGetRows * 100)/(100)
그것은 내가 나의 기본적인 수학 이론을 잊어 버린 것처럼 그렇게 보이는 가장 좋은 방법이다? 이
필립
다른 팁 : 레이블 만 사용하는 대신 텍스트 상자를 사용하여 멋진 효과를 낼 수도 있습니다. 이 예제를 참조하십시오 http://stackoverflow.com/questions/10782394/pop-up-the-excel-statusbar/10787496#10787496 –
아,하지만 내 이미지는 밝은 파란색에서 진한 파란색으로 그 위에 그라디언트 효과가 있으며 실제로 보입니다. spiffy :) –