githubなどの外部のサイトから
vbaのモジュールをダウンロードできる、ということを
chatGPTさんから最近教わったのですが、
ダウンロードしたモジュールを accessのプロジェクトにインポートするには、
どのようにすればいいのでしょうか?
インポートされたモジュールは
access内の他の vbaのコードの領域に保存されるのでしょうか?
それともaccessの実行環境であるローカルのPC内に保存されるのでしょうか?
ちなみに、自作のvbaのコードのうち、
他のファイルでも利用したい場合、
たとえば共通の文字列のフォーマットへの変換など
そのvbaのコードをモジュールとして保存できるのでしょうか?
↓
### **VBAモジュールのインポート方法(Access)**
外部サイト(GitHubなど)からダウンロードしたVBAモジュール
(`.bas` ファイル)をAccessにインポートする方法は以下の通りです。
#### **手動でインポートする方法**
1. **AccessのVBAエディタを開く**
- `Alt + F11` を押してVBAエディタを開きます。
2. **インポートする**
- VBAエディタの左側にある「プロジェクトエクスプローラー」で
`Modules` を右クリック
- 「ファイルのインポート」を選択
- `.bas` ファイルを選択してインポート
これで、そのモジュールが **AccessのVBAプロジェクト内** に取り込まれます。
---
#### **VBAコードからインポートする方法**
VBAのコードを使って `.bas` ファイルをインポートすることも可能です。
```vba
Public Sub ImportVbaModule()
Application.VBE.ActiveVBProject
.VBComponents.Import "C:\Path\To\YourModule.bas"
End Sub
```
※ `C:\Path\To\YourModule.bas` を
実際のファイルパスに変更してください。
---
### **インポートされたモジュールの保存先**
インポートされたVBAモジュールは、**Accessのプロジェクト
(`.accdb` / `.mdb`)内に保存**されます。
そのため、Accessファイルを別のPCに移動すると、
モジュールも一緒に移動します。
ただし、**VBAのコード自体はPCのローカルフォルダには直接保存されません。**
---
### **共通のVBAコードを他のファイルでも利用する方法**
他のAccessファイルでも使いたいVBAコードがある場合、
次の方法で再利用できます。
#### **① `.bas` ファイルとして保存**
1. VBAエディタで共通のモジュールを右クリックし、「ファイルのエクスポート」を選択
2. `.bas` ファイルとして保存
3. 他のAccessプロジェクトで **インポート** すれば再利用可能
#### **② Accessの「ライブラリデータベース」として利用**
共通のVBAコードを含む **別のAccessファイル
(ライブラリデータベース)** を作成し、
それを参照設定することで使うこともできます。
1. VBAコードを含む **共通のAccessファイル
(例:CommonLib.accdb)** を作成
2. そのAccessファイルを
`C:\Path\To\CommonLib.accdb` に保存
3. 他のAccessプロジェクトで `Alt + F11` を押してVBAエディタを開く
4. `ツール` → `参照設定` → `参照` をクリックし、
`CommonLib.accdb` を選択
これで、共通の関数を他のプロジェクトでも利用できます。
---
### **まとめ**
✅ **ダウンロードしたVBAモジュール(`.bas`)は
手動またはVBAコードでインポート可能**
✅ **インポートされたモジュールはAccessのプロジェクト
(`.accdb`)内に保存**
✅ **共通のVBAコードは `.bas` としてエクスポートするか、
ライブラリデータベース化して使い回せる**
Access内でモジュールを管理しつつ、
他のファイルでも共通のコードを活用する方法を試してみてください!
### **VBAモジュールのインポート方法(Access)**
外部サイト(GitHubなど)からダウンロードしたVBAモジュール
(`.bas` ファイル)をAccessにインポートする方法は以下の通りです。
#### **手動でインポートする方法**
1. **AccessのVBAエディタを開く**
- `Alt + F11` を押してVBAエディタを開きます。
2. **インポートする**
- VBAエディタの左側にある「プロジェクトエクスプローラー」で
`Modules` を右クリック
- 「ファイルのインポート」を選択
- `.bas` ファイルを選択してインポート
これで、そのモジュールが
**AccessのVBAプロジェクト内** に取り込まれます。
---
#### **VBAコードからインポートする方法**
VBAのコードを使って `.bas` ファイルをインポートすることも可能です。
```vba
Public Sub ImportVbaModule()
Application.VBE.ActiveVBProject
.VBComponents.Import "C:\Path\To\YourModule.bas"
End Sub
```
※ `C:\Path\To\YourModule.bas` を
実際のファイルパスに変更してください。
---
### **インポートされたモジュールの保存先**
インポートされたVBAモジュールは、
**Accessのプロジェクト(`.accdb` / `.mdb`)内に保存**されます。
そのため、Accessファイルを別のPCに移動すると、
モジュールも一緒に移動します。
ただし、**VBAのコード自体はPCのローカルフォルダには直接保存されません。**
---
### **共通のVBAコードを他のファイルでも利用する方法**
他のAccessファイルでも使いたいVBAコードがある場合、
次の方法で再利用できます。
#### **① `.bas` ファイルとして保存**
1. VBAエディタで共通のモジュールを右クリックし、「ファイルのエクスポート」を選択
2. `.bas` ファイルとして保存
3. 他のAccessプロジェクトで **インポート** すれば再利用可能
#### **② Accessの「ライブラリデータベース」として利用**
共通のVBAコードを含む
**別のAccessファイル(ライブラリデータベース)** を作成し、
それを参照設定することで使うこともできます。
1. VBAコードを含む
**共通のAccessファイル(例:CommonLib.accdb)** を作成
2. そのAccessファイルを
`C:\Path\To\CommonLib.accdb` に保存
3. 他のAccessプロジェクトで
`Alt + F11` を押してVBAエディタを開く
4. `ツール` → `参照設定` → `参照` をクリックし、
`CommonLib.accdb` を選択
これで、共通の関数を他のプロジェクトでも利用できます。
---
### **まとめ**
✅ **ダウンロードしたVBAモジュール
(`.bas`)は手動またはVBAコードでインポート可能**
✅ **インポートされたモジュールは
Accessのプロジェクト(`.accdb`)内に保存**
✅ **共通のVBAコードは `.bas` としてエクスポートするか、
ライブラリデータベース化して使い回せる**
Access内でモジュールを管理しつつ、
他のファイルでも共通のコードを活用する方法を試してみてください!
コメント
コメントを投稿