テーブルやクエリのエクスポートは一般的なTransferTextメソッドを使った方法ですが、そのあと、FileSystemObjectオブジェクトを使うことによって、エクスポートした先のファイル属性を変更します。
次のサンプルコードでは、まず"mtbl商品マスタ"テーブルを"c:\商品マスタ.txt"というテキストファイルにエクスポートします。続いてそのファイルオブジェクトを、FileSystemObjectオブジェクトのGetFileメソッドによって取得します。それをFileオブジェクトに代入し、そのAttributesプロパティの値を設定変更します。なお、Attributesプロパティの変更においては、現時点の属性に「読み取り専用(定数 readonly)」を加える形で設定します。ここでの「+」は足し算という意味合いではなく、属性をビット加算する意味合いとなります。
Dim fso As New FileSystemObject
Dim ffile As File
Dim strFilePath As String
'エクスポート先ファイル名を設定
strFilePath = "c:\商品マスタ.txt"
'エクスポートを実行
DoCmd.TransferText acExportDelim, , "mtbl商品マスタ", strFilePath, True
'そのファイルに読み取り専用属性を追加
Set ffile = fso.GetFile(strFilePath)
ffile.Attributes = ffile.Attributes + readonly
 |
※FileSystemObjectオブジェクトを使ったプログラミングにおいては、「CreateObjectメソッド」を使った方法もあります(Access Tips #96~参照)。