강사님 안녕하세요

즐거운 설 연휴 보내시구요. 새해 복많이 받으세요

 

for문 등 반복문 환경에서는 인수증가를 이용하여 progress bar를 구현하고 있는데요

 

아래와 같은 경우는 실행시간 자체가 걸리는 거여서 위 방법으로는 진행바를 구현이 안되는데요

"잠시만 기다려주십시요, ~~% 진행중입니다" 이런식으로 진행바를 할려고 합니다.

 

[예문]

Sub FileLoad_Without_Open()

Dim StrPath As String
Dim StrFileName As String
Dim StrFomula As String
Dim r As Integer
Dim i As Integer

StrFullName = Application.GetOpenFilename(filefilter:="Excel(*.xls*),*.xls*")

If StrFullName = "False" Then Exit Sub

StrPath = Left(StrFullName, InStrRev(StrFullName, "\"))
StrFileName = Mid(StrFullName, InStrRev(StrFullName, "\") + 1)
StrFomula = StrPath & "[" & StrFileName & "]"

On Error Resume Next

Set getFile = GetObject(StrPath & StrFileName)

If Err <> 0 Then
MsgBox ("파일 오류 입니다. 제한보기 해제 하세요")
Err.Clear
Exit Sub
End If
getFile.Worksheets(1).Copy after:=ActiveWorkbook.Sheets(Worksheets.count)
ActiveSheet.Name = "SRC"
getFile.Close False

Set getFile = Nothing


End Sub

 

위 예문은 파일을 불러들이는 코드인데요, 여기서는 반복문 사용이 없고 용량이 큰 파일은

자체로 읽어들이는 시간이 있습니다. 이 과정에서 응답없음 상태가 되기도 하지만 결국에는

시간이 걸리지만 잘 읽어들입니다.

 

그런데 이 과정에서 몇프로 진행중인지를 표시해줄려고 진행바를 할려고 하는데, 반복문이 없는

이러한 상황에서는 어떤방식으로 진행바를 만드는지 궁금합니다.

 

강사님 늘 감사합니다.^^