ファイルリストボックスで選択状態(反転)にするには?

解決


しろ  2005-10-22 16:08:46  No: 126720

VB6(SP6)Windows98_SE、Visual Studio TM6.0(SP6)でやってます。
素人の趣味のプログラミングです。良ければご指導お願いします。

「ファイルを開く」メニューで開いたパスに有る*.csvファイルをファイルリストボックスに表示しています。
開いたファイル名と同じファイルリストボックスのリストを選択状態(反転)させたいのですが、
File1.FileNameに代入すると、そのファイルのみになってしまいます。

コンボボックスの場合は出来たのですが、動的にメニュー、ツールバーをロード/アンロードするプログラム上、
「現在はアンロード出来ません(Error365)」が発生するためファイルリストボックスにしています。

以上宜しくご指導下さい。


ガッ  2005-10-22 19:22:26  No: 126721

> 「ファイルを開く」メニューで開いたパスに有る*.csvファイルをファイルリストボックスに表示しています。
> 開いたファイル名と同じファイルリストボックスのリストを選択状態(反転)させたいのですが、
> File1.FileNameに代入すると、そのファイルのみになってしまいます。
filelistbox.selected(i)
を使うのかな…

> コンボボックスの場合は出来たのですが、動的にメニュー、ツールバーをロード/アンロードするプログラム上、
> 「現在はアンロード出来ません(Error365)」が発生するためファイルリストボックスにしています。
選択状態にしたいのに、何故にアンロード…?

…なんか見当ハズレのこと言ってそうだなぁ…


しろうと  2005-10-23 01:55:09  No: 126722

ガッさん回答有難うございます。
ご掲示頂いたfilelistbox.selected(i)で無事解決しました。
体調の急変で返事が遅くなり済みません。
有難う御座います。

>選択状態にしたいのに、何故にアンロード…?
開いたファイル(*.csv)のメニューその他情報の内容でプログラムを実行します。
一度オープン後に別の情報ファイルを開く際に現在のメニュー等をアンロードします。

ファイルリストボックスは動的に作成したツールバー上に有り、同じフォルダーに複数の情報ファイル(*.csv)が有る場合
次回からはファイルリストボックスで選択して開ける様にし、且つ開いたファイル名が解るように反転したいと思いました。

以下にコードを記載します。

On Error GoTo err
With CommonDialog1 
    .CancelError = True
    .DialogTitle = "ソースファイルを開きます"            
    .InitDir = App.Path   '初期パス
    .Flags = cdlOFNFileMustExist Or cdlOFNHideReadOnly
    .Filter = "CSV(*.csv)|*.csv"
    .Filename = ""
    .ShowOpen
    
    If .FileTitle <> "" Then
        infile = .Filename
        CsvRead infile   'ソースファイル入力
        SrcCsvPath = Left(infile, InStr(infile, .FileTitle) - 2) 'パス取得
        'ファイルリストボックスの入力ファイル名を選択状態にする
        For i = 0 To File1.ListCount - 1
            If File1.List(i) = .FileTitle Then
                  File1.Selected(i) = True
            End If
        Next
End With


しろうと  2005-10-23 03:06:58  No: 126723

「解決」を送信後に実行ファイル(exe)にして試したところミスが有りました。
ファイルリストボックスのパスの設定が必要でした。
-------------------------------
File1.Path = SrcCsvPath  '追加
-------------------------------
For i = 0 To File1.ListCount - 1
     If File1.List(i) = .FileTitle Then
          File1.Selected(i) = True
     End If
Next
失礼しました。


しろうと  2005-10-23 09:44:54  No: 126724

何回も済みません(__)
その後不都合に気づき下記に再質問させて頂きました。
宜しくお願いします。
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200510/05100134.txt


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加