2016-10-11 3 views
0

파일 경로에 사용할 날짜를 가져 오는 사용자 양식이 있습니다. 해당 폴더 내에서 Dir 함수를 사용하여 파일 이름을 문자열로 사용하려고합니다. 그것이 까다로운 부분은 파일 이름의 일부가 일관성이 있지만, 끝날 때마다 고유 ID가있어 하루 단위가 바뀌므로 고유 ID 부분을 무시하기 위해 별표를 사용하고 있습니다. .VBA, Dir 함수 와일드 카드

Sub cmdRunCO_Click() 

Dim masterPathCO As String 
Dim masterFileCO As String 
Dim DesiredDate As String 
' ChDir "\\corp\dfs\appdata\openlinkprod\outdir\US-ComOps\EOD" 
' Workbooks.Open Filename:="CHN.Endur.PnlDetailsReport.GLOBAL.US-ComOps.EOD.PV.xlsm" 

DesiredDate = EnteredDate.Value & "\" 
masterPathCO = "\\corp\dfs\appdata\openlinkprod\outdir\US-ComOps\EOD\" & DesiredDate 
maserFileCO = Dir(masterPathCO & "CHN.Endur.PnlDetailsReport.GLOBAL.US-ComOps.EOD.PV.*.xlsm", vbNormal) 
' Test for correct string values 
Range("A15") = masterPathCO 
Range("A16") = masterFileCO 
' Dim mwb As Workbook 
' Set mwbCO = Workbooks.Open(masterPathCO & masterFileCO) 
' Set mwbCO = ActiveWorkbook 
Unload SelectDate 

masterPathCO는 괜찮지 만 masterFileCO는 공백이됩니다. 여기에 비틀기가 있습니다 : 파일 이름을 얻으려고하는 날짜가있는 폴더 내에서, 별표가 실제로 아무 것도하지 않는다고 믿을만한 같은 이름으로 시작하는 3 개의 다른 파일이 있습니다.

대체 방법, 쉬운 방법? 옳은 방향이지만 나는 어딘가에서 떨어져있다?

+3

위의 코드에서 변수 중 하나를'maserFileCO'로 잘못 입력했지만'masterFileCO'로 선언하고 참조했습니다. 이 질문에 대한 코드를 다시 입력했는지 여부는 확실하지 않지만이 맞춤법 오류에 대한 원래 코드를 확인할 가치가 있습니다. – Jordan

+3

'Option Explicit'은 모든 모듈의 맨 위에 있어야합니다. (질문에 오자가 아니라고 가정 할 때) 이런 오류를 방지 할 것입니다. –

+0

맙소사 ... 훌륭한 포인트 녀석들. 얼마나 작은 것들이 나를 지나쳐 가는지 놀라운 일. – EnergyHOU

답변

0

위의 코드는 유효하며 문제없이 작동합니다.

잘못된 변수 참조로 인해 문제가 발생했습니다. 변수 이름을 수정하고 Option Explicit 문을 통해 앞으로의 문제가 없도록 수정했습니다.