Excel VBA質問箱 IV

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

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


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

【57964】読み込みファイルの制限 パトラッシュ 08/9/23(火) 23:01 質問[未読]
【57969】Re:読み込みファイルの制限 こぎつね 08/9/24(水) 11:40 回答[未読]
【57993】Re:読み込みファイルの制限 パトラッシュ 08/9/26(金) 13:47 お礼[未読]
【58013】Re:読み込みファイルの制限 パトラッシュ 08/9/27(土) 17:10 質問[未読]
【58015】Re:読み込みファイルの制限 こぎつね 08/9/27(土) 17:33 発言[未読]
【58029】Re:読み込みファイルの制限 パトラッシュ 08/9/28(日) 11:07 お礼[未読]
【57970】Re:読み込みファイルの制限 Jaka 08/9/24(水) 12:25 発言[未読]
【57992】Re:読み込みファイルの制限 パトラッシュ 08/9/26(金) 13:45 お礼[未読]

【57964】読み込みファイルの制限
質問  パトラッシュ  - 08/9/23(火) 23:01 -

引用なし
パスワード
   ダイアログ表示からファイルを読み込む際...
例えば,ファイル名に「高知」を含むもののみを指定可能にしそれ以外のファイルが指定された場合は「ファイル名に“高知”を含むもの以外は指定できません」といったメッセージを表示するようなマクロの作成は可能でしょうか

イメージとしては...
「高知旅日記.xls」は読み込み可能
「香川旅日記.xls」を読み込もうとすると上記のようなメッセージを表示する

【57969】Re:読み込みファイルの制限
回答  こぎつね  - 08/9/24(水) 11:40 -

引用なし
パスワード
   ▼パトラッシュ さん:
>ダイアログ表示からファイルを読み込む際...
>例えば,ファイル名に「高知」を含むもののみを指定可能にしそれ以外のファイルが指定された場合は「ファイル名に“高知”を含むもの以外は指定できません」といったメッセージを表示するようなマクロの作成は可能でしょうか
>
>イメージとしては...
>「高知旅日記.xls」は読み込み可能
>「香川旅日記.xls」を読み込もうとすると上記のようなメッセージを表示する

取得したファイル名に”高知”が含まれているか、InStr関数でチェックされるとか。

【57970】Re:読み込みファイルの制限
発言  Jaka  - 08/9/24(水) 12:25 -

引用なし
パスワード
   読み込み可能ってどうやって指定しているのか知らないけど、

考え方の参考になると思います。
ht tp://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=99;id=FAQ

【57992】Re:読み込みファイルの制限
お礼  パトラッシュ  - 08/9/26(金) 13:45 -

引用なし
パスワード
   〉Jaka さん:

ありがとうございました。
参考になりました。

【57993】Re:読み込みファイルの制限
お礼  パトラッシュ  - 08/9/26(金) 13:47 -

引用なし
パスワード
   〉こぎつね さん:
試してみます。
ご回答ありがとうございます。

【58013】Re:読み込みファイルの制限
質問  パトラッシュ  - 08/9/27(土) 17:10 -

引用なし
パスワード
   ふたたびパトラッシュです。
何度も、すみません。

拡張子の制限でしたら、例えば
file1 = Application.GetOpenFilename(Title:="XLSファイル指定")
lcsv = InStr(1, file1, ".xls", 1)
   If lcsv = 0 Then
     MsgBox "xls"以外指定不可"
     Exit Sub
   End If
とできることが判明したのですが、これを同様にInStr関数で、ファイル名で
例えば「高知」を含むもののみ指定可能にする(あるいは前方一致でもいいのですが)方法はあるのでしょうか?
おわかりの方がいましたら、よろしくお願いいたします。

【58015】Re:読み込みファイルの制限
発言  こぎつね  - 08/9/27(土) 17:33 -

引用なし
パスワード
   ▼パトラッシュ さん:
>ふたたびパトラッシュです。
>何度も、すみません。
>
>拡張子の制限でしたら、例えば
>file1 = Application.GetOpenFilename(Title:="XLSファイル指定")
>lcsv = InStr(1, file1, ".xls", 1)
>   If lcsv = 0 Then
>     MsgBox "xls"以外指定不可"
>     Exit Sub
>   End If
>とできることが判明したのですが、これを同様にInStr関数で、ファイル名で
>例えば「高知」を含むもののみ指定可能にする(あるいは前方一致でもいいのですが)方法はあるのでしょうか?
>おわかりの方がいましたら、よろしくお願いいたします。

lcsv = InStr(1, file1, ".xls", 1) * InStr(1, file1, "高知", 1)
とか?

【58029】Re:読み込みファイルの制限
お礼  パトラッシュ  - 08/9/28(日) 11:07 -

引用なし
パスワード
   ▼こぎつね さん:ご回答ありがとうございます。
>lcsv = InStr(1, file1, ".xls", 1) * InStr(1, file1, "高知", 1)
>とか?

これですと、"高知"以外のファイルも普通に読み込んでしまいました。
ちょっと複雑そうですが、コモンダイアログを使用した方法など別の方法を模索してみます。
ご丁寧にありがとうございました。
今後も何かいい方法がありましたら追記お願いいたします。

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