#492 添付ファイルをディスクに保存するには? フォーム、VBA

「#490 添付ファイル型フィールドへファイルを追加するには?」の関連Tipsとして、フォーム上の添付ファイルコントロールに現在表示されているファイルをディスクに保存するプログラムを紹介します。

添付ファイルコントロール(あるいは添付ファイル型フィールド)には複数のファイルを添付することができますが、画面上に表示できるのは1ファイルずつです。ミニツールバーを操作して前後に表示を切り替えることができますが(下図)、ここでは”現在表示されている1つのファイルを保存する”例を説明します。
ミニツールバーで添付ファイルを切り替える ミニツールバーで添付ファイルを切り替える

次のサンプルコードでは、[保存]ボタンのクリックによって、現在画面表示されている添付ファイルを「c:\Picture\data.jpg」という名前でディスク上に保存しています。

「Me.Recordset!商品写真.Value」というレコードセット上の「FileName」フィールドには、ファイルを添付した際のファイル名が保存されています。一方、フォーム上の添付ファイルコントロール「Me!商品写真」の「FileName」プロパティには、現在表示されている添付ファイルのファイル名が代入されています。それらを比較し、一致したときに保存処理を実行することによって、”現在表示されている1つのファイルを保存する”という処理が行われることになります。

なお、添付ファイルの保存には、「FileData」フィールド(ここに添付ファイルのデータが保存されています)から「SaveToFile」というメソッドを実行します。

Private Sub cmd保存_Click()
'[保存]ボタンクリック時

  '商品写真フィールドのレコードセットに対する操作
  With Me.Recordset!商品写真.Value
    Do Until .EOF
      If !FileName = Me!商品写真.FileName Then
        '現在表示されている添付ファイルを保存
        !FileData.SaveToFile "c:\Picture\data.jpg"
        Exit Do
      End If
      .MoveNext
    Loop
    .Close
  End With

End Sub

| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved