1. tas6

    Posted

    tas6
Changes in title
+ExcelVBAで指定フォルダ内のbasファイルをインポートする
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,46 @@
+ExcelVBAでbasファイルをインポートする
+===
+
+## 前準備
+
+VBA プロジェクト オブジェクト モデルへのアクセスを許可しておく。
+
+## 実装
+
+ThisWorkbookに下記の処理実装する。
+
+```vb
+Private Sub Workbook_Open()
+
+ 'ここで読み込みたいモジュールがあるフォルダを指定する
+ importModules "\\xxxx"
+ importModules "\\yyyy"
+
+End Sub
+
+'指定フォルダの*.basをインポートする
+Private Sub importModules(ByVal dirName As String)
+
+ Dim bas As String
+ Dim cmp As Object
+
+ bas = Dir(dirName)
+ Do Until bas = ""
+
+ If bas Like "*.bas" Then
+
+ For Each cmp In ThisWorkbook.VBProject.VBComponents
+ If cmp.Name & ".bas" = bas Then
+ ThisWorkbook.VBProject.VBComponents.Remove cmp
+ End If
+ Next cmp
+
+ ThisWorkbook.VBProject.VBComponents.Import dirName & bas
+ bas = Dir
+
+ End If
+
+ Loop
+
+End Sub
+```