短い,長いファイル名への変換: Access




BackHome BackTipsへ Backメニューへ

■ Access VBA 実行コード

Windowsでは1つのファイルに対して短いファイル名と、長いファイル名の両方を用いることが出来ます。
短いファイル名は、ファイル名に半角8文字まで、拡張子に半角3文字までという制限があります。

拡張子を除いたフォルダ名・ファイル名が8バイトを超える場合、その先頭6バイトに「~1」「~2」などをつけ、拡張子も3文字に切り詰めます。
このとき先頭6バイトが同じになる場合があるので「~1」「~2」を足します。

短いファイル名はMS-DOSで使用されます。

'lpszLongPathのフォルダ名を短い形式のフォルダ名に変換します。
'lpszLongPathのフォルダは、長い形式のフォルダ名でなくてもOK。
'実際に存在しているフォルダでなくてはいけません。
Public Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" _
    (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long

'短いファイル名から長いファイル名を取得する関数
Private Declare Function GetLongPathName Lib "kernel32" Alias "GetLongPathNameA" _
    (ByVal lpszShortPath As String, ByVal lpszLongPath As String, ByVal cchBuffer As Long) As Long

'パス名を短い形式のパス名に変換します。
Public Function MyGetShortPath(sFilePath As String) As String
   '256文字確保
  Dim sBuff As String * 256

    MyGetShortPath = Left$(sBuff, GetShortPathName(sFilePath, sBuff, 256))
End Function

'パス名を長い形式のパス名に変換します。
Public Function MyGetLongPath(sFilePath As String) As String
    Dim sBuff As String * 256

    MyGetLongPath = Left$(sBuff, GetLongPathName(sFilePath, sBuff, 256))
End Function

'コマンドボタンクリックイベント
Private Sub コマンド0_Click()
'フォームタイトルに短いフォルダ名で表示します
    Me.Caption = MyGetShortPath("c:\Program Files\Common Files\")
'フォームタイトルに通常のフォルダ名で表示します
    Me.Caption = Me.Caption & " " & MyGetLongPath(Me.Caption)
End Sub


<メモ>
ファイルの関連付けの方法
1. マイ コンピュータまたはエクスプローラで関連付けたいファイルを表示します。
2. そのファイルを右クリックし、「プログラムから開く」 をクリックします。
3. 「ファイルを開くプログラムの選択」ダイアログ ボックスで、ファイルを開くプログラムをクリックするか、「参照」をクリックして使用するプログラムを選択します。
4. 「この種類のファイルを開くときは、選択したプログラムをいつも使う」 チェック をオンにします。

よく使う拡張子
.txt: テキストファイル メモ帳・ワード・一太郎などで使用
.rtf: リッチテキストファイル ワードパッド・ワード・一太郎などで使用
.doc: ワードのファイル
.jtd: 一太郎のファイル
.xls: エクセルのファイル
.csv: データが1行ごとに改行で区切られ、データはカンマやTABで区切られます
.mdb: アクセスのファイル
.mde: アクセスのファイル フォーム等の編集ができない形式
.psd: フォトショップのファイル
.ai: イラストレータのファイル
.eps: フォトショップEPS形式のファイル
.bmp: 無圧縮な画像ファイルの為サイズが大きい
.jpg: 画像に最適な圧縮方式の画像ファイル 写真などに使用
.gif: 色数が限定されるような画像に向いた圧縮方式の画像ファイル ロゴなどに使用
.png: 圧縮率が高い画像ファイル Macromedia Fireworksで使用



BackHome BackTipsへ Backメニューへ

Copyright(C) FeedSoft