Nicotto Town



【ACCESS】Excelとの連携②


Private Sub import_Click()

Dim msg As Integer

msg = MsgBox("インポートを開始しますか?", vbYesNo, "警告")
If msg = vbYes Then
GoTo 1
Else
GoTo 2


1:

'エラーメッセージの非表示(インポート時のキー違反エラーのため)
DoCmd.SetWarnings False

'DATAテーブルのレコード削除
DoCmd.RunSQL "delete from DATA"

'注意メッセージの表示
DoCmd.OpenForm "インポート中です"


'パスワード保護されているexcelを開く
Dim voxlapp As Object
Set voxlapp = CreateObject("excel.application")
voxlapp.Workbooks.Open filename:="\\10.10.10.10\Personal\あいう\えおかき\test.xls", _
Password:="excelのパスワードを入力してね"


'Excelのインポート
DoCmd.TransferSpreadsheet acImport, , "DATA", _
"\\10.10.10.10\Personal\あいう\えおかき\test.xls", True

'エラーメッセージの表示
DoCmd.SetWarnings True

'excelの終了
voxlapp.Workbooks.Close
voxlapp.Quit
Set voxlapp = Nothing


'アクションクエリのメッセージ非表示
DoCmd.SetWarnings False


'アクションクエリの実行
DoCmd.OpenQuery "空白レコード削除クエリ"
DoCmd.OpenQuery "delflg更新クエリ"
DoCmd.OpenQuery "改行クエリ"

'アクションクエリのメッセージ表示
DoCmd.SetWarnings True

'インポートエラーテーブルの削除
CurrentDb.Execute "drop table[あいう・えおかき・くけこ$_インポート エラー];"

'注意メッセージを閉じる
DoCmd.Close acForm, "インポート中です", acSaveNo

MsgBox "インポート作業が完了しました"

2:
End If
End Sub




Copyright © 2025 SMILE-LAB Co., Ltd. All Rights Reserved.