■ 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で使用