Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


9256 / 13644 ツリー ←次へ | 前へ→

【27056】ファイルの呼び出し はじめ 05/7/27(水) 12:48 質問[未読]
【27057】Re:ファイルの呼び出し IROC 05/7/27(水) 12:53 回答[未読]
【27061】Re:ファイルの呼び出し はじめ 05/7/27(水) 15:15 発言[未読]
【27062】Re:ファイルの呼び出し IROC 05/7/27(水) 15:30 回答[未読]
【27065】Re:ファイルの呼び出し はじめ 05/7/27(水) 16:38 お礼[未読]
【28201】Re:ファイルの呼び出し はじめ 05/8/30(火) 19:31 質問[未読]
【28203】Re:ファイルの呼び出し ponpon 05/8/30(火) 20:16 発言[未読]
【28204】Re:ファイルの呼び出し りん 05/8/30(火) 21:07 発言[未読]
【28214】Re:ファイルの呼び出し はじめ 05/8/31(水) 11:09 お礼[未読]
【28303】Re:ファイルの呼び出し はじめ 05/9/2(金) 12:31 質問[未読]
【28358】Re:ファイルの呼び出し ponpon 05/9/3(土) 11:19 発言[未読]
【28388】Re:ファイルの呼び出し はじめ 05/9/5(月) 10:24 お礼[未読]
【28394】Re:ファイルの呼び出し りん 05/9/5(月) 13:55 発言[未読]

【27056】ファイルの呼び出し
質問  はじめ  - 05/7/27(水) 12:48 -

引用なし
パスワード
   テキストボックス1(6ケタの数字限定)
テキストボックス2(8ケタの数字限定)
あるマクロを実行すると上のテキストボックス1と2にそれぞれ
別のファイルから参照関数で引っ張ってきた値を自動入力します。
2つのテキストボックスの値を確認し、正しければそのまま、
間違えていればテキストボックスに正しい値を手入力し、
「(テキストボックス1の値)-(テキストボックス2の値)任意の文字列」
というファイル名を探して開く、というマクロを作る場合、
例えばテキストボックス1=123456、テキストボックス2=78978912の時
ファイル名は「123456-78978912おはよう・・」という名前です。
”おはよう”から始まる文字列に一貫性はなく、文字数もさまざま、また数字やアルファベットを含んでいる場合もあるんです。
文字列の最初の2〜3文字は100%文字(というか漢字)です。
fileopenのファイル名を指定する方法、教えて頂けたらと思います。
どうぞ、よろしくお願い致します。

【27057】Re:ファイルの呼び出し
回答  IROC  - 05/7/27(水) 12:53 -

引用なし
パスワード
   いきなりOpenせずに、Dir関数でファイルがあるか調べればできると思います。

【27061】Re:ファイルの呼び出し
発言  はじめ  - 05/7/27(水) 15:15 -

引用なし
パスワード
   ▼IROC さん:
>Dir関数でファイルがあるか調べればできると思います。

ありがとうございます。
初心者なので、Dir関数を使って具体的にはどうすればファイル名を確定できるのかが
よくわかりません。

すみません、教えて頂けたら嬉しいです。

【27062】Re:ファイルの呼び出し
回答  IROC  - 05/7/27(水) 15:30 -

引用なし
パスワード
   DIR関数の詳細はヘルプで確認してください。


Dim myPath As String
Dim myFile As String
  
  myPath = "C:\"
  myFile = TextBox1.Text & "-" & TextBox2.Text & "*"
  
  If Dir(myPath & myFile) <> "" Then
    Workbooks.Open myPath & Dir(myPath & myFile)
  Else
    MsgBox "見つかりません"
  End If

【27065】Re:ファイルの呼び出し
お礼  はじめ  - 05/7/27(水) 16:38 -

引用なし
パスワード
   IROCさんへ

わざわざ構文をありがとうございました。

さっそくやってみます。

【28201】Re:ファイルの呼び出し
質問  はじめ  - 05/8/30(火) 19:31 -

引用なし
パスワード
   ▼IROC さん:
こんにちは。いつもお世話になっています。
頂いたお返事をアレンジしたのですが、
(mypathとmyfileの間にフォルダーを指定しなければ
ならなかったので)エラーで止まりました。
下記のコードです。

Private Sub CommandButton1_Click()
Dim myPath As String
Dim myfolder As String
Dim myFile As String
 
  myPath = "D:\"
  myfolder = Left(TextBox1.Text, 2)
  myFile = TextBox1.Text & "-" & TextBox2.Text & "*"
  
  Filename = myPath & folder & "\" & myFile
 
  if dir filename <>""then
    Workbooks.Open Filename
  Else
    MsgBox "見つかりません"
  End If

End Sub

どこが間違えているのでしょうか。
よろしくお願い致します。


>
>Dim myPath As String
>Dim myFile As String
>  
>  myPath = "C:\"
>  myFile = TextBox1.Text & "-" & TextBox2.Text & "*"
>  
>  If Dir(myPath & myFile) <> "" Then
>    Workbooks.Open myPath & Dir(myPath & myFile)
>  Else
>    MsgBox "見つかりません"
>  End If

【28203】Re:ファイルの呼び出し
発言  ponpon  - 05/8/30(火) 20:16 -

引用なし
パスワード
   こんばんは。

>  if dir filename <>""then
>    Workbooks.Open Filename

()がないからかな

  if dir(filename) <>""then
    Workbooks.Open Filename

【28204】Re:ファイルの呼び出し
発言  りん E-MAIL  - 05/8/30(火) 21:07 -

引用なし
パスワード
   はじめ さん、こんばんわ。
ponponさんの補足ですが、

>  myFile = TextBox1.Text & "-" & TextBox2.Text & "*"
>  Filename = myPath & folder & "\" & myFile

 ワイルドカード入りのファイル名ではOpenメソッドはエラーになりました(XL2000)。

>  if dir filename <>""then
>    Workbooks.Open Filename
>  Else
>    MsgBox "見つかりません"
>  End If
>
>End Sub

Dir関数の使い方をちょっといじって。

  Ifile = Dir(Filename) '一つ目のチェック
  If Ifile = "" Then
    MsgBox "見つかりません"
  Else
   Do
     Workbooks.Open myPath & folder & "\" & Ifile
     Ifile = Dir '同じ条件でチェック
   Loop While Ifile <> "" '無くなるまで繰り返す
  End If

こんな感じです。

【28214】Re:ファイルの呼び出し
お礼  はじめ  - 05/8/31(水) 11:09 -

引用なし
パスワード
   ponponさん
りんさん

いつもありがとうございます。
このまま使わせて頂きます。

うまくいかなければまたおじゃましますので、
よろしくお願い致します。

【28303】Re:ファイルの呼び出し
質問  はじめ  - 05/9/2(金) 12:31 -

引用なし
パスワード
   ▼りん さん:
こんにちは。 
folderをmyfolderに替えましたが、無事ファイルは開きました!
ありがとうございます。
ただ、

Ifileが何を示しているのかが、よくわかりません。


>
>  Ifile = Dir(Filename) '一つ目のチェック
>  If Ifile = "" Then
>    MsgBox "見つかりません"
>  Else
>   Do
>     Workbooks.Open myPath & folder & "\" & Ifile
         ↑mypath & myfolder & "\" & myfileにならない理由を
          教えてください。  
             
>     Ifile = Dir '同じ条件でチェック
>   Loop While Ifile <> "" '無くなるまで繰り返す
>  End If
  よろしくお願いします。

【28358】Re:ファイルの呼び出し
発言  ponpon  - 05/9/3(土) 11:19 -

引用なし
パスワード
   もう見ていないかな?

>Ifile = Dir(Filename)
Dir関数によって、フォルダの中にmyFileがあるかないかを探して
あった場合には、ファイル名を返し、ない場合は、""を返します。(たぶん)

詳しくは、Dir関数をヘルプで調べてください。

【28388】Re:ファイルの呼び出し
お礼  はじめ  - 05/9/5(月) 10:24 -

引用なし
パスワード
   ponponさま。

解説どうもありがとうございました。
Dir関数について、もう一度読んで出直します!
ヘルプの説明はわかりにくいですよね←言い訳(汗
ついつい、ここに聞きに来てしまいますが、きちっと
調べないと向上しないですよね。。

【28394】Re:ファイルの呼び出し
発言  りん E-MAIL  - 05/9/5(月) 13:55 -

引用なし
パスワード
   はじめ さん、こんにちわ。

ponponさま、ありがとうございました。

>解説どうもありがとうございました。
>Dir関数について、もう一度読んで出直します!
>ヘルプの説明はわかりにくいですよね←言い訳(汗
>ついつい、ここに聞きに来てしまいますが、きちっと
>調べないと向上しないですよね。。

ヘルプをそのまま引用

引用開始==================
Dir 関数
構文

Dir[(pathname[, attributes])]

Dir 関数の構文は、次の指定項目から構成されます。

指定項目 内容
pathname 省略可能です。ファイル名を表す文字列式を指定します。フォルダ名およびドライブ名も含めて指定できます。引数 pathname に指定した内容が見つからないときは、長さ 0 の文字列 (" ") を返します。
attributes 省略可能です。取得するファイルが持つ属性の値の合計を表す数式または定数を指定します。省略すると、標準ファイルの属性になります。

引用終了==================

です。

9256 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free