• ベストアンサー

ファイルの種類・属性を表示したい

ファイルの属性を表示させたいのですが、 Dim FileName FileName = "C:\TEST.TXT" Set fs = CreateObject("scripting.FileSystemObject") Set f = fs.GetFile(FileName) Msgbox(F.Size & F.DateLastModified) とすると、ファイルのサイズ・最終更新日が表示されます。 あと、ファイルの種類・属性を表示させたいのですが、 F.Type、F.Attributeなどとやってもうまくいきません。 上のロジックは、人からもらった物なので、完璧に理解している訳ではないんですが・・・。 おわかりになる方、よろしくお願いします。

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

  • ベストアンサー
  • isobeman
  • ベストアンサー率41% (17/41)
回答No.2

そのままででますけど。。。 最後の1行を下のようにしてみてください。 Msgbox(F.Size & vbCRLF& F.DateLastModified & vbCRLF& F.Type & vbCRLF& F.Attributes) でませんか? ちなみに、WSHで確認しました。

SHINYA-W
質問者

お礼

回答、ありがとうございます。

SHINYA-W
質問者

補足

あ、出来ました。 何か勘違いしていたのかも知れません。

その他の回答 (1)

  • GOLDEN
  • ベストアンサー率46% (283/607)
回答No.1

何を使って作成したいのか書かないと、答えもつきませんよ 今回の場合は、まぁ解る人が見ればVBだとは解りますけど・・・ -------------------- Private Sub Form_Load() Dim Attr As Integer Dim Msg As String Dim FileName As String FileName = "C:\TEST.TXT" ' 属性の取得 Attr = GetAttr(FileName) 'メッセージの作成 If (Attr And vbArchive) <> 0 Then Msg = Msg & "アーカイブ" & vbCr If (Attr And vbDirectory) <> 0 Then Msg = Msg & "フォルダ" & vbCr If (Attr And vbHidden) <> 0 Then Msg = Msg & "隠しファイル" & vbCr If (Attr And vbReadOnly) <> 0 Then Msg = Msg & "書込み禁止" & vbCr If (Attr And vbSystem) <> 0 Then Msg = Msg & "システム" & vbCr If (Attr And vbNormal) <> 0 Then Msg = Msg & "通常ファイル" & vbCr '属性の表示 MsgBox Msg End Sub -------------------- これで、一応属性は出せます ファイルタイプを出す方は、恐らくSDKを使わないと実現できないかと・・・

SHINYA-W
質問者

お礼

回答、ありがとうございます。

SHINYA-W
質問者

補足

すいません、Access97のVBAでした。

関連するQ&A

  • WSHで複数のファイルを読み取り専用にしたい

    WSH初心者です。 ワールドカードを使って複数のファイルを読み取り専用にする方法がわかりません。 Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFile = objFSO.GetFile("C:\*.txt") objFile.Attributes = (objFile.Attributes Or 1) これだと「ファイルが見つかりません」というエラーが出ます。 属性設定には、ワイルドカードが使えないのでしょうか?

  • あるフォルダのファイル名を取得したい(vbs)

    VBスクリプトを使って、TESTフォルダにあるJPGファイル中で、一番新しいファイルのファイル名を取得したいと思っています。 JPGは、ファイル名が日付.jpgになっています。例)061123.jpg vbsは苦手で途中挫折してしましました。。ぜひ教えて頂けないでしょうか。 --------------- Dim Fs,strPath,Fl Set Fs = CreateObject("Scripting.FileSystemObject") strPath = "C:\Test\" Set Fl = Fs.GetFile(strPath) MsgBox Fl Set Fs = Nothing Set Fl = Nothing

  • ファイルシステムオブジェクトのメソッドについて

    こんにちは、皆さん。 以下のプログラムでコピーしようとしたら、 オブジェクトがメソッド、プロパティをサポートしてないという メッセージが表示されてしまいました。 Set fso = CreateObject("Scripting.FileSystemObject") fso.CopyFile "c:\aaa.txt", "c:\temp\" Set fso = CreateObject("Scripting.FileSystemObject") Set src = fso.GetFile("c:\aaa.txt") fso.Copy "c:\temp\" こういった場合、どんなメソッドがあるか確認するには どうしたらよいでしょうか? また、ファイルをコピーするにはどうしたらよいでしょうか? よろしくお願いします。

  • [VBScript]ファイルの削除

    ファイルの削除を行うために以下のように書いて実行したところ。 「Microsoft VBScript 実行時エラー '800a0046' - 書き込みできません。」 というエラーメッセージがでてしまいました。 ------------------------------- Set fso = CreateObject("Scripting.FileSystemObject") Set src = fso.GetFile(FileName.txt) src.Delete ------------------------------- ファイルのプロパティを見てもフルコントロールを許可していますし、実行者もAdmin権限です。 どこをチェックすればよろしいでしょうか? または、どのようにコーディングすればよいでしょうか?

  • テキストファイルに一行文字を追加したい

    バッチ処理でテキストファイルの最後に文字列を追加する作業をやりたいのです。 普通の文字列ですと、1)のようにして上手くいきます。 ところが「"」の入った文字列を一行加えようと2)のようにすると、エラーになってしまいます。どうしたら前に進めるでしょうか? --------- 1)上手くいくケース ----------- Set fso = CreateObject("Scripting.FileSystemObject") Set tmpFile = fso.GetFile("C:\test\hoge.txt") Set f = tmpFile.OpenAsTextStream(8, -2) f.Write("一行追加しました") f.close Set f = Nothing Set tmpFile = Nothing Set fso = Nothing --------- 2)上手くいかないケース ----------- Set fso = CreateObject("Scripting.FileSystemObject") Set tmpFile = fso.GetFile("C:\test\hoge.txt") Set f = tmpFile.OpenAsTextStream(8, -2) f.Write("一行"追加"しました") f.close Set f = Nothing Set tmpFile = Nothing Set fso = Nothing

  • VB.NETでファイル名順にファイルを読む方法

    VB.NETで、あるフォルダ内のファイルをファイル名順に読む方法を教えてください。 ちなみに、現在は、以下のような処理をしています。 fs = CreateObject("Scripting.FileSystemObject") f = fs.GetFolder(strDirPath) fc = f.Files For Each f1 In fc ・ ・ ・ Next ご回答、よろしくお願いします。

  • FileSystemObjectについて

    御観覧有難うございます。 基礎FSOなんですが、スパテクという本を買って、一から順に excelを学んでいるのですが、本の通りにやっても、 記述ミスになってしまうので、お聞きしたいんですけども、 記入して、ミスになるのは、 Dim fso, f Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.GetFile(ThisWorkbook.Path & "\" & ThisWorkbook.Name) MsgBox "最終更新日時=" & f.DateLastModified という文法の、Set f = fso.GetFile(ThisWorkbook.Path & "\" & ThisWorkbook.Name)の部分で¥マークの部分があやしい感じですが、 文法自体が記述ミスだそうで… excel2007なんですが、対応していて、本の通りにやって、 出来ない場合ってあるんでしょうか… ご回答よろしくお願いします。

  • DOS の BAT処理について

    お世話になります。 下記のようなBATを見よう見まねで作りました。 私が作りたいのは、「製品情報.xls」と言うファイルの更新日を見て 更新日が今日であったら、メッセージ「同じ日付です。」を表示したい だけなのです。 現状では、ファイルの更新日と今日の日付が同じなのに、何故か メッセージが出てこないのでしょうか? お忙しいとは思いますが宜しくお願い致します。 Option Explicit Dim objFileSys Dim strScriptPath Dim strFilePath Dim objFile Dim strDate Dim hizuke2 dim hizuke 'ファイルコピー用------------------------------------ Dim fso, TargetFolder, MyFile, filename Set fso = CreateObject("Scripting.FileSystemObject") 'ファイルコピー用------------------------------------ Set objFileSys = CreateObject("Scripting.FileSystemObject") Set objFile = objFileSys.GetFile("\\10.20.32.21\共有\製品情報.xls") hizuke = Date hizuke2 = Left(objFile.DateLastModified,10) WScript.echo "最終アクセス日:" & hizuke2 & " " & "今日:" & hizuke if hizuke = hizuke2 then WScript.echo "同じ日付です。"

  • VBSでテキストファイルを作成

    こんにちは。 set fso = createobject("Scripting.FileSystemObject") fso.createfolder("倉庫") を実行すると、実行したスクリプトが存在する場所に「倉庫」という名のフォルダが作成されます。 その倉庫というフォルダの中にテキストファイルを作成するにはどうすればよいでしょうか? set fso = createobject("Scripting.FileSystemObject") fso.createfolder("倉庫") set fo = fso.opentextfile(FILENAME) close.fo 相対的にファイルの場所を指定する方法がわかりません。 絶対パスでないとだめなのでしょうか?

  • ファイル結合について

    .vbsを使用して複数のテキストファイルを1つのテキストファイルに結合したいと思っております。 条件として対象ファイルが0KB及びない場合には追記しない。 結合部分に関しては下記で追記することができたのですが 条件部分に関してはFilelen?を使用するとファイルサイズを取得できるみたいなのですが 実際の記述がわかりませんでした。 ご教授頂けると助かります。 ■追記部分 Set logFile = fso.GetFile(logFile) Set f = logFile.OpenAsTextStream(8, -2) Set objFS = CreateObject("Scripting.FileSystemObject") Set objText = objFS.OpenTextFile(srcFile) myText = objText.ReadAll 'ExecDateTime = Now f.Write(myText & vbNewLine) f.close '解放 Set f = Nothing Set logFile = Nothing Set fso = Nothing

専門家に質問してみよう