
お詳しい方 御教授をお願いします。
相談事項
エクスポートした VBAプログラムが格納されたThis Workbookを
指定したフォルダに格納されている全エクセルファイルにコピーを行いたい。
しかし、下記のコードで実行を行おうとすると
This Work book1というモジュールが作成されコピーがうまくいかない
どのようにコードを変更すればいいのか、アドバイスを頂けないでしょうか。
コード
Sub モジュール追加釦_Click()
'インポートされるブックが存在するフォルダ
Const TARGET_XLS_FOLDER = "変更予定のフォルダURL"
'インポートするモジュールが存在するフォルダ
Const TARGET_MODULE_FOLDER = "This Workbook 保管フォルダURL"
Dim fso As FileSystemObject
Set fso = New FileSystemObject
'ブックが存在するフォルダを取得する
Dim xlsfolder As Folder
Set xlsfolder = fso.GetFolder(TARGET_XLS_FOLDER)
Dim xlsfile As File
'モジュールが存在するフォルダを取得する
Dim mdlfolder As Folder
Set mdlfolder = fso.GetFolder(TARGET_MODULE_FOLDER)
Dim mdlfile As File
'対象フォルダ内のファイルをループさせる
For Each xlsfile In xlsfolder.Files
'拡張子がエクセルのマクロ有効ブックの場合、このブックは対象外とする
If fso.GetExtensionName(xlsfile.Path) = "xlsm" And xlsfile.Path <> ThisWorkbook.Path Then
Dim wb As Workbook
Set wb = Workbooks.Open(xlsfile.Path)
'モジュールファイルをループさせる
For Each mdlfile In mdlfolder.Files
If fso.GetExtensionName(mdlfile.Path) = "bas" _
Or fso.GetExtensionName(mdlfile.Path) = "frm" _
Or fso.GetExtensionName(mdlfile.Path) = "cls" Then
'既存のモジュールがあれば削除
Call removeObj(wb, fso.GetBaseName(mdlfile))
'新しいモジュールを追加する
Call wb.VBProject.VBComponents.Import(mdlfile)
End If
Next
'ブックを保存して閉じる
wb.Save
wb.Close
End If
Next
'オブジェクトを開放
Set fso = Nothing
End Sub

A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんにちは
説明がはっきりしないのと、コードを見ても意図不明の部分がいろいろあってよくわかりませんけれど・・
ThisWorkbookモジュールにコードをコピペしたいのではないかと想像しました。
確かめてはいませんけれど、インポートは標準モジュールにモジュールを追加するので、Workbookモジュールには記入できないのではないでしょうか?
もしそうであるなら、直接内容をコピペする方が簡単だと思います。
元となるブックをSourceBook、コピペ先をDestinationBookとするなら・・
一旦、元のコードをテキストで取得しておいて、
With SourceBook.VBProject.VBComponents("ThisWorkbook").CodeModule
CodeText = .Lines(1, .countoflines)
End With
まるっとコピペで良いのなら、対象モジュールをクリアしてからペースト。
With DestinationBbook.VBProject.VBComponents("ThisWorkbook").CodeModule
.DeleteLines 1, .countoflines
.InsertLines 1, CodeText
End With
みたいなことを、各ブックで繰り返せばできると思いますけれど・・・
※ 内容や意味が違っていたなら、スルーしてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
このカテゴリの人気Q&Aランキング
-
4
あるマクロを起動し、その際に...
-
5
Application.ScreenUpdating = ...
-
6
マクロで最終行を取得したい
-
7
【VBA】色フィルタについて
-
8
エクセルのマクロについて教え...
-
9
VBA チェックボックスで
-
10
送付元、送付先が同じ大きさの...
-
11
マクロを教えてください。
-
12
エクセルのマクロについて教え...
-
13
VBA で エクスプロー操作
-
14
実行時エラー 438になった時の...
-
15
エクセルVBA 既存エクセルを開...
-
16
グラフの交点の求め方(Excel)
-
17
VBA 変数名に変数を使用したい。
-
18
メッセージボックスのOKボタ...
-
19
Excel マクロ VBA プロシー...
-
20
Excel VABについて 下記記述が...
おすすめ情報
公式facebook
公式twitter