• ベストアンサー

VB6.0フォルダの存在をチェックするには?

audittrqの回答

  • audittrq
  • ベストアンサー率37% (13/35)
回答No.2

第2引数に vbDirectory を記述してみてはどうでしょう? Msgbox Dir("c:\test" , vbDirectory)

tochanx
質問者

お礼

できました! フォルダ属性を設定しなくちゃいけなかったんですね。 どうもありがとうございました。

関連するQ&A

  • コマンドプロンプトによるフォルダ内のファイル存在有無

    バッチ処理で、特定のフォルダ内(配下にフォルダとファイルが混在している)でファイルだけの存在有無を調べて、ファイルが存在している場合とファイルが存在していない場合で処理を別々に行わせようとしたいのですが、ファイルの存在有無はどのようにコマンドで調べれば良いでしょうか? DIR C:\test\*.* でファイルを調べて、ERRORLEVELでif判定させようと思っているのですが、 DIRコマンドでこれを行うと、フォルダまで表示されます。 どのようにしたら良いのでしょうか?教えてください。

  • ファイル/フォルダアドレスの取得と区別

    VB6 ファイル/フォルダのアドレスを取得してファイル/フォルダの区別を したいのですが、特定の物(サーバー内)がエラーしてしまいます。 リストへ"OLEDragDrop"した時に下記実行させています。 MsgBox Data.Files(1) MsgBox GetAttr(Data.Files(1)) MsgBox Dir(Data.Files(1)) MsgBox Dir(Data.Files(1), vbDirectory) エラーの対象 AとB & 問題無い C A>ファイルの種類:Windows Server A>アドレス:\\server B>コンピューターの種類:Windows Server B>アドレス:\\server\TestB C>ファイルの種類:ファイルフォルダ C>アドレス:\\St_server\TestB\TestC Aは全てエラー >実行時エラー'461': >データの形式が一致しません。 Bはアドレスは取得出来て"Dir"でエラー (GetAttr = 16) >実行時エラー'52': >ファイル名または番号が不正です。 Bはアドレスを取得出来てるのでエラー処理で なんとかなりそうなのですが、Aはアドレスすら取得出来ません。 Aのアドレスを取得するにはどうしたら良いでしょうか? (サーバーは社内管理していて詳しくありません)

  • VBでのAPI

    いつもお世話になっています。 今回初めて、APIを使うVBのプログラミングをしているんですが、サーバからのファイル名取得でつまずいています。 long型変数 = FtpFindFirstFile(セッション番号, ディレクトリパス, str型変数, 0, 0) って感じで、何かしらファイルが存在するかどうかは戻り値で判定できるのですが、ファイル名自体が取得できません。(複数ファイルが存在するときは、どれか一つのファイル名が取得できれば問題ないです) いろんなサイトを調べたのですが、「引数の文字列変数に"情報"が取得される」ようなふうに書かれており、はっきりしません。ちなみに私の作成中のPGでは、引数の文字列変数は何も格納なれない状態です。 どなたか詳しい方、教えてくれませんか?

  • フォルダの中身がカラか調べる

    vbaです。 フォルダ(新しいフォルダ)を作り、その中にサブフォルダ(Test用フォルダ)を作って --------------------------------------------------------- Sub フォルダの中身がカラか調べる() If Dir("D:\新しいフォルダ\Test用フォルダ\*.*") = "" Then MsgBox "カラです" Else MsgBox "カラではありません" End If End Sub --------------------------------------------------------- を実行すると、新しいフォルダの中にフォルダがあるのに、 「カラです」が表示されてしまいます。 新しいフォルダのファイルサイズは0です。 If Dir("D:\新しいフォルダ\Test用フォルダ\*.*") = "" Then のコードは、フォルダの中のファイル数ではなく、 フォルダのサイズを取得してしまうのでしょうか?

  • VB6.0 FileListBoxでフォルダ表示

    VB6.0 ファイルシステムコントロールを使用して各ListBox (DriveList/DriList/FileList)を組み合わせています。 この内、DriListで選択したフォルダのファイル表示に File1.Path = Dir1.Path をDir1のChange時に入れています。 このままだと、Dir1選択でFile1にファイルのみが表示されます。 これをこの中に含まれるフォルダも表示させることは 出来ないでしょうか? ご教授願います。 (ステートメントなどを記述していただけると助かります)

  • Windows漢字フォルダ名の扱い(その2)

    先回に引き続きお伺いします。 ■フォルダツリー体系が次のようになっているとき、 D:\TEMP ├─フォルダ名の末尾に機能 │ test1.txt ├─フォルダ名の末尾に表 │ test2.txt ├─途中に機能がある │ test3.txt └─途中に表がある test4.txt ■次のスクリプトを処理させるのですが、 #!perl use strict; &subdir($ARGV[0]); sub subdir { my($dir) = $_[0]; opendir(DIR,"$dir") || die "'$dir' $! stopped"; foreach(sort readdir(DIR)){ next if(/^\.+/); # '.' '..' はパス if(-f "$dir\\$_"){ print "'$dir\\$_'\tはファイルです\n"; }elsif(-d "$dir\\$_"){ print "'$dir\\$_'\tはフォルダです\n"; &subdir("$dir\\$_"); }else{ print "'$dir\\$_'\tは何ですか?\n";#出て欲しくない } } closedir(DIR); } ■結果は、次のようになります。 (※フォルダ名の末尾に特殊な漢字コードがある所が判定できない) C:\>test.pl d:\temp 'd:\temp\フォルダ名の末尾に機能' は何ですか? 'd:\temp\フォルダ名の末尾に表' は何ですか? 'd:\temp\途中に機能がある' はフォルダです 'd:\temp\途中に機能がある\test3.txt' はファイルです 'd:\temp\途中に表がある' はフォルダです 'd:\temp\途中に表がある\test4.txt' はファイルです 先回、色々と教わったこと use encoding "Shift_JIS"; や 局所的に $dir を decodeさせるなどしても上手く行きません。良い方法があれば教えてください。

    • ベストアンサー
    • Perl
  • VBAの「Dir」コマンドを使用してフォルダ名変換を行ったのですが。。

    OS:Windows2000 VBA:Excel2003 任意のフォルダを指定し、そのフォルダ内のフォルダ名を全て変換するものを作成しようとしました。 問題点は、「Dir」関数を使用して、任意のフォルダ内のディレクトリを取得する時に、 strFName = Dir("C:\test\", vbDirectory) 上記のコードを実行すると、strFNameには「.」が入ってます。 strFName = Dir() を繰り返し行うと、strFNameには以下 「.」→「..」→「test01」→「test02」… となります。 C:\test\フォルダには「test01」以降のフォルダは存在するのですが、「.」及び「..」は見当たりません。 コマンドプロンプトで、 C:\test>dir で確認すると、「.」「..」が存在します。 しかし、 C:\test>tree では「.」「..」は見当たりません。 このDir("C:\test\", vbDirectory)で取れてくる「.」「..」とは一体何なのでしょうか? カテゴリ違い(Windows OS かも…)の質問かもしれませんが、ご存知の方がいらっしゃいましたら、よろしくお願いします。

  • インターネットキャッシュフォルダについて教えて

    IEのインターネットキャッシュフォルダの 「C:\Temporary Internet Files」のようなものなのですが、 普通のフォルダとは性質が違うようで、ファイルの扱い方に困っています。 上記のパスをエクスプローラーで開くと、アクセスしたサイトの オブジェクトが一覧として現れるのですが、 上記のフォルダを指定してDir関数でファイルを表示しようとすると ファイル名が表示されません。 またエクスプローラでそのフォルダにはサブフォルダは表示されないのですが、 「C:\Temporary Internet Files\Content.IE5」と指定してDir関数で 一覧を表示させると、サブフォルダやファイルが見つかります。 「C:\Temporary Internet Files」をエクスプローラで表示した時に現れる一覧をVB.NETのプログラム上で取得して、 エクスプローラーで表示されているような、インターネットアドレス、サイズ、最終アクセス日などを取得したいのですが、 どのような方法でやれば良いでしょうか? 特殊なフォルダのようでどうしたら良いか全く分からない状態です。 検索をしてみたのですが、キャッシュを削除するというのはいくつか 見つかったのですが、それ以外では参考になりそうなものを見つけることができませんでした。 申し訳ございませんが、ご教示頂きたくお願いいたします。

  • VB2005 でパス名が誤っていないかチェックする方法について

    VB2005 の初心者です。 iniファイルで指定したフォルダ(パス)を読み込んで処理をしたいのですが、指定したパスが誤っている場合は、どのようにチェックすれば良いのでしょうか。 下記サンプルのとおり、System.IO.Path.GetInvalidPathChars() でチェックする方法があるようですが、ヘルプには「ファイル名やディレクトリ名としては無効なすべての文字が含まれるかどうかは、保証されません。」とあるようです。 実際、"Cd:\<>Work\Test.txt" というパスにすると、チェックはスルーしてしまいました。 Dim filepath As String = "C:\<>Work\Test.txt" Dim invalidPathChars As Char() = System.IO.Path.GetInvalidPathChars() For Each invalidChar As Char In invalidPathChars If filepath.IndexOf(invalidChar) > -1 Then Console.WriteLine("使用できない文字 " & invalidChar.ToString() & " が含まれています。") End If Next 誤ったパスを完全にチェックする方法はあるのでしょうか。 何かヒントになることでも良いので、皆様の知恵をお借りできれば幸いです。 よろしくお願い致します。

  • [VB2008]ファイル存在確認について

    質問です。VB2008を使ってる者ですが、以下のソースが分りません。 例で言います。 最初に以下のファイル存在を確認します。 C:\TEST\test1.txt C:\TEST\test2.txt C:\TEST\test3.txt 全て存在する ここまでは良いのですが、この後 例えば C:\TEST\test1.txt C:\TEST\test2.txt C:\TEST\test3.txt C:\TEST\test4.txt ←これ(これ) ファイルの存在確認で同じフォルダ("TEST")に 存在確認の必要としない不要ファイル("これ")を検出して 削除したいのですが、方法が分りません。 "これ"の不要ファイルの名前は、必ずしも"test4"では無い 存在チェック以外の不要ファイルを削除したいのです。 Dim checkFile As String = "C:\Work\Test.txt" If System.IO.File.Exists(checkFile) Then Console.WriteLine("ファイルが存在します") Else Console.WriteLine("ファイルが存在しせん") End If 上記の後、必要の無いファイルを検出して削除するには どうすれば良いでしょうか? 凄く困ってるので、教えて下さい