近年はMicrosoft Copilotの登場によって、Access VBA開発の進め方が大きく変わりました。結論から言うと、「最初からコードを書く」のではなく、「Copilotに作らせて修正する」方が圧倒的に効率的です。
特にAccess開発では、
- CSV取込
- Excel出力
- SQL実行
- PDF出力
- メール送信
など似たコードを何度も作成するため、Copilotとの相性が非常に良いです。
そこで今回は、Access開発でよく使うVBAコード20選と、実際にCopilotへ投げるプロンプト例を紹介します。
- なぜAccess開発とCopilotの相性が良いのか
- ① CSVファイルを取り込みたい
- ② Excelファイルを取り込みたい
- ③ AccessデータをExcel出力したい
- ④ PDF出力したい
- ⑤ SQLを実行したい
- ⑥ レコード件数を取得したい
- ⑦ フォルダ内ファイル一覧を取得したい
- ⑧ ファイル存在チェックをしたい
- ⑨ フォルダを作成したい
- ⑩ Excelを起動したい
- ⑪ Outlookメールを送信したい
- ⑫ 添付ファイルを送信したい
- ⑬ フォームを開きたい
- ⑭ レポートを表示したい
- ⑮ コンボボックスへ値を設定したい
- ⑯ テキストボックスをクリアしたい
- ⑰ SQLで重複データ抽出
- ⑱ 文字列置換をしたい
- ⑲ 現在日時を取得したい
- ⑳ エラーハンドリングを追加したい
- Copilotへ質問する時のコツ
- Copilotレビューも活用しよう
- Copilotで開発効率を上げる流れ
- AI時代でも重要なAccess知識
- まとめ
なぜAccess開発とCopilotの相性が良いのか
例えば、
CSVを取り込みたい
という要件があったとします。
従来
ネット検索 ↓ サンプル探し ↓ コピペ ↓ 修正
でした。
現在は
Copilotへ質問 ↓ コード生成 ↓ 修正 ↓ 完成
です。
開発時間を大幅に短縮できます。
① CSVファイルを取り込みたい
Copilotへの依頼
Access VBAです。 CSVファイルを T_CUSTOMERへ取り込むコードを 作成してください
よく生成されるコード
DoCmd.TransferText _
acImportDelim, _
"", _
"T_CUSTOMER", _
"C:\DATA\Customer.csv", _
True
② Excelファイルを取り込みたい
Copilotへの依頼
Access VBAです。 Excelファイルを テーブルへ取り込むコードを 作成してください
DoCmd.TransferSpreadsheet _
acImport, _
acSpreadsheetTypeExcel12Xml, _
"T_DATA", _
"C:\DATA\Test.xlsx", _
True
③ AccessデータをExcel出力したい
Copilotへの依頼
Access VBAです。 クエリ結果を Excel出力するコードを お願いします
DoCmd.TransferSpreadsheet _
acExport, _
acSpreadsheetTypeExcel12Xml, _
"Q_SALES", _
"C:\DATA\Sales.xlsx"
④ PDF出力したい
帳票システムでは定番です。
Copilotへの依頼
Accessレポートを PDF出力してください
DoCmd.OutputTo _
acOutputReport, _
"R_INVOICE", _
acFormatPDF, _
strFile
⑤ SQLを実行したい
Copilotへの依頼
Access VBAで UPDATE SQLを実行したい
CurrentDb.Execute strSQL
⑥ レコード件数を取得したい
Copilotへの依頼
レコード件数取得方法を 教えてください
DCount("*","T_CUSTOMER")
⑦ フォルダ内ファイル一覧を取得したい
Copilotへの依頼
FileSystemObjectで フォルダ内のファイル一覧取得
Set fso = CreateObject( _
"Scripting.FileSystemObject")
⑧ ファイル存在チェックをしたい
If Dir(strFile) <> "" Then
MsgBox "存在します"
End If
⑨ フォルダを作成したい
MkDir "C:\DATA"
⑩ Excelを起動したい
Set xlApp = _
CreateObject("Excel.Application")
xlApp.Visible = True
⑪ Outlookメールを送信したい
Copilotへの依頼
Access VBAで Outlookメール送信コードを 作ってください
objMail.Send
⑫ 添付ファイルを送信したい
objMail.Attachments.Add _
strFile
⑬ フォームを開きたい
DoCmd.OpenForm _
"F_MENU"
⑭ レポートを表示したい
DoCmd.OpenReport _
"R_SALES", _
acViewPreview
⑮ コンボボックスへ値を設定したい
Me.cboStatus = "完了"
⑯ テキストボックスをクリアしたい
Me.txtName = ""
⑰ SQLで重複データ抽出
Copilotへの依頼
重複顧客を抽出する Access SQLを作ってください
SELECT 顧客名,
Count(*)
FROM T_CUSTOMER
GROUP BY 顧客名
HAVING Count(*) > 1
⑱ 文字列置換をしたい
Replace(strData," ","")
CSV補正では頻繁に利用します。
⑲ 現在日時を取得したい
Now()
ログ管理で必須です。
⑳ エラーハンドリングを追加したい
Copilotへの依頼
以下のVBAへ エラー処理を追加してください
On Error GoTo ErrHandler
ExitProc:
Exit Sub
ErrHandler:
MsgBox Err.Description
Resume ExitProc
Copilotへ質問する時のコツ
悪い例
VBA作って
情報不足です。
良い例
Access VBAです。 CSVを取り込みたいです。 テーブル名は T_CUSTOMERです。 エラー処理付きで お願いします。
要件を具体的に伝えた方が精度が向上します。
Copilotレビューも活用しよう
コード生成だけではありません。
例えば、
以下のAccess VBAを レビューしてください。 処理速度 保守性 エラー対策 の観点でお願いします。
という使い方も効果的です。
Copilotで開発効率を上げる流れ
おすすめは、
要件整理 ↓ Copilotへ質問 ↓ コード生成 ↓ Accessへ貼り付け ↓ 動作確認 ↓ Copilotレビュー
です。
この流れを習慣化すると開発速度が大きく向上します。
AI時代でも重要なAccess知識
Copilotがコードを書いてくれるようになったとはいえ、
- テーブル設計
- 正規化
- SQL知識
- Access運用知識
は依然として重要です。
実際には、
業務知識 + Access知識 + Copilot活用力
を持つ技術者が最も強い時代になっています。
まとめ
CopilotはAccess VBA開発において非常に強力な支援ツールです。
特に今回紹介した20種類は実務で頻繁に利用するものばかりです。
- CSV取込
- Excel連携
- PDF出力
- SQL実行
- Outlook連携
- ファイル操作
- フォーム制御
- エラーハンドリング
などは、まずCopilotへ聞く習慣をつけるだけで開発効率が大きく変わります。
「ネット検索して探す」から、「Copilotに作らせる」へ。
これが今後のAccess開発の新しいスタンダードになるかもしれません。

コメント