過去ログ

                                Page     105
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼フォルダ内に目的のファイルがなかった場合  123 02/9/20(金) 11:20
   ┗Re:フォルダ内に目的のファイルがなかった場合  ぴかる 02/9/20(金) 12:53
      ┗Re:フォルダ内に目的のファイルがなかった場合  ひで 02/9/20(金) 13:55
         ┗全部OKです  123 02/9/20(金) 15:36

 ───────────────────────────────────────
 ■題名 : フォルダ内に目的のファイルがなかった場合
 ■名前 : 123
 ■日付 : 02/9/20(金) 11:20
 -------------------------------------------------------------------------
   何度も何度も失礼いたします。

以下のコードをフォーム(検索)に記述しています。
フォーム自身のBookのPathを取得して、
"T_ファイル名"というTextBoxに入力したファイル名を
そのアドレス(フォルダ)内で探し、一致したCSVファイルを
OPENするものです。
CSVファイル名が「2002-9」「2002-10」というように
お決まりのパターンなのですが、
もし同フォルダ内に指定したファイルが無い場合
以下のコードではディバック画面が出てしまいます。
If構文を入れればよいのでしょうが、
よく分かりません。
どなたか お助けください。
==================================
Private Sub B_ファイルOPEN_Click()

Dim FiN As String
Dim PaN As String

FiN = T_ファイル名.Value & ".csv"

If FiN <> Empty Then
 With ActiveWorkbook
 PaN = .Path & "\"
 Workbooks.Open FileName:=PaN & FiN
 End With
End Sub
 ───────────────────────────────────────  ■題名 : Re:フォルダ内に目的のファイルがなかった場合  ■名前 : ぴかる  ■日付 : 02/9/20(金) 12:53  -------------------------------------------------------------------------
   123さん、こんにちは。

試してないのでNGになるかもしれませんが・・・。

DIR関数にて
Private Sub B_ファイルOPEN_Click()

Dim FiN As String
Dim PaN As String

  FiN = T_ファイル名.Value & ".csv"

  If FiN <> Empty Then
   PaN = ActiveWorkbook.Path & "\"
   If Dir(PaN & FiN) <> "" Then
    Workbooks.Open Filename:=PaN & FiN
   Else
    MsgBox PaN & FiN & "は、ありましぇん。(>_<)"
   End If
  End If
  
End Sub

エラー処理にて
Private Sub B_ファイルOPEN_Click()

Dim FiN As String
Dim PaN As String

On Error GoTo エラー処理
FiN = T_ファイル名.Value & ".csv"

If FiN <> Empty Then
 With ActiveWorkbook
 PaN = .Path & "\"
 Workbooks.Open Filename:=PaN & FiN
 End With
End If
Exit Sub

エラー処理:
  MsgBox PaN & FiN & "は、ありましぇん。(>_<)"

End Sub
 ───────────────────────────────────────  ■題名 : Re:フォルダ内に目的のファイルがなかった場合  ■名前 : ひで  ■日付 : 02/9/20(金) 13:55  -------------------------------------------------------------------------
   ▼123さん、ぴかるさん こんにちは

こんなのもありますが・・

Private Sub CommandButton1_Click()
Dim FiN As String
Dim PaN As String

FiN = TextBox1.Value
PaN = ActiveWorkbook.Path

With Application.FileSearch
.LookIn = PaN
.FileName = FiN

If .Execute = 0 Then
MsgBox "見つかりません"
TextBox1.Value = ""
TextBox1.SetFocus

Exit Sub

End If
End With
MsgBox "見つかりました、ファイルを開きます"
Workbooks.Open FileName:=PaN & "\" & FiN
End Sub

Exl97で試してみました
 ───────────────────────────────────────  ■題名 : 全部OKです  ■名前 : 123  ■日付 : 02/9/20(金) 15:36  -------------------------------------------------------------------------
   ▼ぴかる さん、ひで さん:
こんにちは

ぴかるの2パターン
ひでさんのパターン
全部できました。

それにしても いろいろなやり方があるんですね。
ありがとうございました。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 105