2016-10-11 4 views
0

ファイルパスで使用する日付を取得するユーザーフォームがあります。そのフォルダ内で、Dir関数を使用してファイル名を文字列として取得しようとしています。ファイル名の一部には一貫性がありますが、日々変化する一意のIDが最後にありますので、一意のID部分を無視するためにアスタリスクを使用しています。 。VBA、ワイルドカード付きディレクトリ機能

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

上記のコードでは、変数の1つを 'maserFileCO'とタイプミスしていますが、' masterFileCO'と宣言して参照しています。私はあなたがこの質問のコードを再入力したかどうかは分かりませんが、このスペルミスの元のコードをチェックする価値があります。 – Jordan

+3

'Option Explicit'は全てのモジュールの最上位になければなりません。このようなエラーからあなたを救うでしょう(あなたの質問の誤字だけではないと仮定します) –

+0

グッドネス...優秀なポイントの人。信じられないほど、これらの小さなものが時々私を過ぎてスライドする。 – EnergyHOU

答えて

0

上記のコードは有効であり、問​​題なく動作します。

誤った変数参照のために問題が発生しました。変数名を修正し、Option Explicitステートメントを使用して今後この問題が発生しないように修正しました。