많은 메모장 파일을 엑셀 파일로....
navig2010조회88 답변2 내공0
2명 (마감 10명)이 투표, 투표기간 4일 남았습니다. (2007-01-30 02:14 투표 전환)
신고
저는 엑셀을 많이 사용하는 직장인입니다
오늘 상사로 부터 엄청난 일을 명령받았습니다
아마도 일일히 하려면 몇일 밤낮을 세워야 할 것같습니다
빠른 답변 부탁드립니다
질문 : 같은 형식의 메모장 파일(엄청 많음-하나하나 열기가 어려울 정도)을 엑셀 시트로
데이터를 모으려고 합니다
임시 게재중단 안내
본 게시물은 현재 지식iN 회원의 신고 또는 게시물 내용 분석 시스템에 의해 검수대상 게시물로 분류되어 작성자 본인 이외에는볼 수 없도록 임시 게재 중지된 상태입니다.최대 48시간 이내에 지식iN 관리자가 검수를 진행할 예정이며 검수 결과 게재 복원되거나 최종 삭제될 예정입니다.
re: 많은 메모장 파일을 엑셀 파일로....
heismodest (2007-01-16 11:04 작성, 2007-01-16 11:05 수정)
신고투표하기
VBA로 한꺼번에 가져와야 할거 같은데, 파일이름이나 구조나 그런걸 알아야 합니다.
직접하시려면, 매크로기록버튼을 누르시고 외부데이터 가져오기에서 텍스트를 선택하고,
파일 하나를 불러와 보세요.
매크로 기록기를 닫으신 후, ALT + F11하시면 코드가 보일겁니다.
그 코드를, 해당 폴더내의 모든파일에 돌아가며 적용하도록 위에 FOR ~ NEXT문만 하나
써주고, RANGE만 제대로 잡아주면 될텐데..
지금 해주신 말씀만으로는 더이상의 구체적인 방법을 말씀드리기가 어렵네요..-_-;
파일이름의 규칙, 파일내용의 구조, 어떤식으로 불러올지(한시트에 다 붙일건지..)
등등을 좀 알아야 합니다.
re: 많은 메모장 파일을 엑셀 파일로....
park__jang (2007-01-16 17:48 작성, 2007-01-16 18:19 수정)
신고투표하기
1) 한 폴더안의 리스트 보기
원본의 일부부분이 ***로 감추어져 있어 직접 활용하시려면 또 고생하실 거 같고....
아래 소스를 참고하세요. 소스의 구조는 그대로 이고 FOR문안에만 수정했습니다.
Sub 파일리스트()
'VBA메뉴의 도구>참조 Microsoft Scripting Runtime 체크 (scrrun.dll) Dim objFSO As Scripting.FileSystemobject Dim objFolder As Scripting.Folder Dim objFile As Scripting.File Dim i_cnt As Integer
Set objFSO = New Scripting.FileSystemobject Set objFolder = objFSO.GetFolder("C:\Documents and Settings\user\My Documents")
i_cnt = 0 For Each objFile In objFolder.Files
if right(objFile.Name, 3) = "txt" then
' msgbox objFile.Name ' i_cnt = i_cnt + 1 ' Cells(i_cnt, 1) = objFile.Name
end if Next
Set objFolder = Nothing Set objFSO = Nothing
End Sub
출처: http://kr.ks.yahoo.com/service/ques_reply/ques_view.html?dnum=JAIAH&qnum=133902
2) 다음은 확장자가 Txt인 데이타를 탭으로 분리하는 예입니다.
기존의 확장자 타입을 알고 있는 것ㅇ로 보고 한번 불러올 때 매크로기록을 해 보시고 다음부분을 적당히 고치세요..
' msgbox objFile.Name ' i_cnt = i_cnt + 1 ' Cells(i_cnt, 1) = objFile.Name 에 파일을 불러오는 매크로를 추가합니다.
If Right(objFile.Name, 3) = "txt" Then i_loadFile = objFolder.Drive & "\" & objFolder.Name & "\" & objFile.Name Workbooks.OpenText Filename:= _ i_loadFile, Origin:=949, _ StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _ ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False _ , Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), _ Array(3, 1)), TrailingMinusNumbers:=True
End If
3) 3) 파일의 구조가 같고 그리고 하나의 시트로 모으길 원한다면
도스의 파일명령어로 나나로 묶던지, 아니면 쪼다른 방법이 있들 수도 있으며, 텍스트 하나를 열어놓고 계속 누적시켜주눈 방법(힘들겠지만 수동ㅇ로)이 있ㅇㄹ 것 같네요...

0 Comments:
Post a Comment
<< Home