8.3形式のパスの取得・他
                                                         玄関へお回り下さい。
8.3形式のパスの取得・フォルダー内の合計ファイルサイズの取得 他    (256)
まず、参照設定をしておいて下さい。
そして Form に Command1を配列で4個とLabel1を貼り付けて Sample.txt を準備しておいて下
さい。
  Option Explicit   'SampleNo=256 WindowsXP VB6.0(SP5) 2003.02.22
Private Sub Command1_Click(Index As Integer)
  Dim Fso   As New FileSystemObject
  Dim FsoFile As File

  Select Case
Index
    Case 0 '従来の 8.3 形式のファイル名を取得
      Dim MydocF As String
      MydocF = Fso.GetSpecialFolder(2)
      '別途ファイルとパスは環境に合せて指定して下さい
      Set FsoFile = Fso.GetFile(MydocF & "\longNameSample1.txt")
      Label1.Caption = MydocF & "\longNameSample1.txt の8.3形式は[" & _
            FsoFile.ShortName & "]です。"
      '結果: 8.3形式は[LONGNA~1.TXT]です。

    Case 1 '従来の 8.3 形式の短いパス名を取得
      '別途ファイルとパスは環境に合せて指定して下さい
      MydocF = Fso.GetSpecialFolder(2)
      Set FsoFile = Fso.GetFile(MydocF & "\longNameSample1.txt")
      Label1.Caption = MydocF & "\longNameSample1.txt の8.3形式は[" & _
            FsoFile.ShortPath & "]です。"
      '結果:[C:\DOCUME~1\ypcs_NO1\LOCALS~1\Temp\LONGNA~1.TXT]

    Case 2 'ファイル又はフォルダー内のバイト単位のサイズを返します。
      Set FsoFile = Fso.GetFile(App.Path & "\Sample.txt")
      Label1.Caption = "ファイルサイズ:" & FsoFile.Size & "バイトです"
      '結果:ファイルサイズ:130バイトです

    Case 3 'ファイルまたはフォルダーの種類に関する情報を返します
      Set FsoFile = Fso.GetFile(App.Path & "\Sample.txt")
      Label1.Caption = "ファイルタイプ:" & FsoFile.Type
      '結果:ファイルタイプ:テキストドキュメント

  End Select

  Set FsoFile = Nothing
End Sub

 
この辺の機能はVBにはないかと思います。フォルダー内のファイルサイズを取得する場合等はかなり
便利かと思います。
   







2003/02/27