OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

ファイルを複数選択して・・・

  • すぐに回答を!
  • 質問No.222750
  • 閲覧数862
  • ありがとう数5
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 49% (168/340)

ダイアログボックスでファイルを複数選択して、読み込んだ内容をテキストボックスに表示させたいのですが、複数でやるとどうもうまくいきません・・・。
どういうふうにコードを記述すればよいのでしょうか?
よろしくお願いします。
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル12

ベストアンサー率 65% (276/422)

複数選択ダイアログ属性にしたときは、
※ファイルを1つ選択したとき
  複数選択属性を持たないダイアログと同様に扱えます。
※ファイルを複数選択したとき
  vbNullChar区切りで パス/ファイル名1/ファイル名2/ファイル名3・・・・
  といったように値が返されます。

サンプルは環境を書いてなかったので、VB6用です。
Splitが使えないバージョンのVBであれば、参考URLを元に読み替えてください。

  Dim i    As Long
  Dim valWork As Variant
  Dim strPath As String

  ' CancelError プロパティを真 (True) に設定します。
  CommonDialog1.CancelError = True
  On Error GoTo ErrHandler
  ' Flags プロパティを設定します。
  CommonDialog1.Flags = cdlOFNHideReadOnly Or cdlOFNAllowMultiselect Or cdlOFNExplorer
  ' リスト ボックスに表示されるフィルタを設定します。
  CommonDialog1.Filter = "すべてのファイル (*.*)|*.*|" & _
  "テキスト ファイル (*.txt)|*.txt|" & _
  "バッチ ファイル (*.bat)|*.bat"
  ' "テキスト ファイル" を既定のフィルタとして指定します。
  CommonDialog1.FilterIndex = 2
  ' [ファイルを開く] ダイアログ ボックスを表示します。
  CommonDialog1.ShowOpen
  
  valWork = Split(CommonDialog1.FileName, vbNullChar)
  If UBound(valWork) = 0 Then
    Debug.Print valWork(0)
  Else
    strPath = valWork(0)
    If Not (Right(strPath, 1) = "\") Then strPath = strPath & "\"
    For i = LBound(valWork) + 1 To UBound(valWork)
      Debug.Print strPath & valWork(i)
    Next i
  End If
  
  Exit Sub
  
ErrHandler:
  ' ユーザーが [キャンセル] をクリックしました。
  Exit Sub
お礼コメント
aika25

お礼率 49% (168/340)

ばっちりできました!!
ありがとうございました!
投稿日時 - 2002-02-24 13:53:57
-PR-
-PR-

その他の回答 (全3件)

  • 回答No.2
レベル14

ベストアンサー率 51% (1179/2272)

こんにちは。maruru01です。 ダイアログボックスって、CommonDialogですか? それは出来ないんじゃないでしょうか(私には方法が思いつきません)。 ご自分で、選択用ダイアログを作ってそれを表示させるということでしょうか? またテキストボックスに複数で表示させるというのは、どういうことでしょうか? 1つのテキストボックスに、複数のファイルの内容を表示させるということでしょうか?それな ...続きを読む
こんにちは。maruru01です。
ダイアログボックスって、CommonDialogですか?
それは出来ないんじゃないでしょうか(私には方法が思いつきません)。
ご自分で、選択用ダイアログを作ってそれを表示させるということでしょうか?
またテキストボックスに複数で表示させるというのは、どういうことでしょうか?
1つのテキストボックスに、複数のファイルの内容を表示させるということでしょうか?それなら、文章をつなげるだけですが。
何をやろうとして、どういう風にうまくいかないのかを、もう少し詳しく説明していただけないでしょうか。
ちなみに蛇足ですが、このカテゴリーなので、VBなのでしょうが、バージョンとかOSとかを書いておくといいと思いますよ、こういうコンピュータ関係の質問は。
では。
お礼コメント
aika25

お礼率 49% (168/340)

ちなみにVB6のWin2000です。
ありがとうございます!
投稿日時 - 2002-02-24 13:53:24


  • 回答No.3
レベル11

ベストアンサー率 42% (103/245)

ダイアログボックスってコモンダイアログですよね? ファイルの名前が取れているのであれば、 1つ目のファイルをOpen→処理→Close 2つ目の… とやるのでは駄目なのでしょうか? もし、同時に開きたいのであれば、 intFileNo = FreeFile で、使用可能なファイル番号が取得できますので intFileNo = FreeFile Open path For mode A ...続きを読む
ダイアログボックスってコモンダイアログですよね?
ファイルの名前が取れているのであれば、
1つ目のファイルをOpen→処理→Close
2つ目の…
とやるのでは駄目なのでしょうか?
もし、同時に開きたいのであれば、
intFileNo = FreeFile
で、使用可能なファイル番号が取得できますので

intFileNo = FreeFile
Open path For mode As intFileNo




という感じでファイルを開けていけば、同時に複数ふぃ有るを扱う事が出来ますよ。
お礼コメント
aika25

お礼率 49% (168/340)

どうもありがとうございました~!
投稿日時 - 2002-02-24 13:52:32
  • 回答No.4
レベル14

ベストアンサー率 51% (1179/2272)

No.1の人の言うように、CommonDialogって複数選択出来るんですね。知らなかった・・・ というわけで、私の回答は無視して下さい。 では。 ...続きを読む
No.1の人の言うように、CommonDialogって複数選択出来るんですね。知らなかった・・・
というわけで、私の回答は無視して下さい。
では。
お礼コメント
aika25

お礼率 49% (168/340)

いえいえ、
ありがとうございます。
投稿日時 - 2002-02-24 13:52:06
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ