일일 보고서를 txt 형식으로 내보내는 응용 프로그램이 있습니다. 해당 보고서에서 특정 라인의 데이터를 추출하여 출력 xls 파일에 저장하는 매크로가 있습니다. 내 매크로의 입력 디렉토리는 현재 수동으로 오늘 보고서를 이동하는 별도의 폴더입니다.오늘 만든 파일의 입력을 읽는 Excel 매크로
내 매크로를 기본 보고서 폴더에서 읽고 단지 오늘 날짜로 만든 파일 만 읽을 수 있기를 바랍니다. 파일 이름의 마지막 3 자리 숫자가 무엇을 나타내는 지 확인 1101_16_16_AppServiceUser_YYYYMMDDhhmmssXXX.txt 아니지만, 그들은 항상 번호가있어 다음과 같이
보고서 파일의 이름 지정 규칙은.
도움 말?
와우! 덕분에 ... stackoverflow를 사용하여 주먹 시간. 나는 여기있다 ... 내가 데이터를 끌어와 엑셀을 덤프 코드를 포함해야한다 같아요
Sub PullLinesFromEPremisReport()
Dim FileName, PathN, InputLn As String
Dim SearchFor1, SearchFor2, OutpFile As String
Dim StringLen1, StringLen2 As Integer
Dim colFiles As New Collection
Dim bridgekey As String
PathO = "C:\Documents and Settings\GROMERO\Desktop\CM reconciliation\output\"
PathN = "C:\Documents and Settings\GROMERO\Desktop\CM reconciliation\input\"
FileName = Dir(PathN)
While FileName <> ""
colFiles.Add (FileName)
FileName = Dir
Wend
SearchFor1 = "BRIDGE KEY"
StringLen1 = Len(SearchFor1)
OutpFile = "RESULTS.xls"
Open PathO & OutpFile For Output As #2
For Each Item In colFiles
Open PathN & Item For Input As #1
Do Until EOF(1) = True
Line Input #1, InputLn
If (Left(LTrim$(InputLn), StringLen1) = SearchFor1) Then
bridgekey = InputLn
End If
Loop
Close #1
Next Item
Close #2
End Sub
OP, 질문에 "vba"태그를 추가하면 코드 강조 표시가 어쩌면 작동할까요? 그냥 추측 –
이것은 신뢰할 수없는 방법입니다. Daniel이 제안한 두 번째 옵션으로 이동하십시오. 파일 형식 인 이유는'YYYY MM DD hh mm ss XXX'입니다. 예 : 8 월 18 일 (2012 08 18) 파일을 찾고 있다면 위의 내용은'2012 08 19 20 12 08 184' –
에 실패합니다. 파일 이름 지정은 다른 응용 프로그램의 자동 출력이며 "AppServiceUser_YYYYMMDD ...."에 의존 할 수 있습니다. 그러면 "AppServiceUser_"및 Format (Now, "YYYYMMDD")과 같이 If If에 추가 할 수 있습니다.OP는 파일 형식이 파일 이름의 중간에 "YYYYMMDD"를 포함한다고 말했습니다. 그러나 문자열이 다른 곳에서 나타나면 거짓 긍정을 산출합니다. Ack, 코멘트에서 리터럴을하는 법을 모르겠다 답을 업데이트 중 ... –