Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


12389 / 13645 ツリー ←次へ | 前へ→

【10752】モジュールのインポートについて chii 04/2/12(木) 12:11 質問
【10755】Re:モジュールのインポートについて Jaka 04/2/12(木) 13:59 回答
【10762】ありがとうございました。 chii 04/2/12(木) 15:45 お礼

【10752】モジュールのインポートについて
質問  chii  - 04/2/12(木) 12:11 -

引用なし
パスワード
   こんにちは、chiiと申します。

 モジュールのインポートについて教えてください。
以下のように、個人用マクロに<MD_IMPORT>を
作成したのですが、これだとインポート先のファイルを
閉じた状態で実行することになります。

インポート先のファイルを開いた状態で、
個人用マクロの<FILEUPDATE>を実行させたいのです。
どの様に、修正すればいいのでしょうか?
ご教授ください。よろしくお願いします。


**************************************************************
'モジュールのインポート
**************************************************************
Sub MD_IMPORT()
 Dim wkAgt As Workbook     'インポート先ブック
 Dim wkAfilename As String   'インポート先ファイル名変数
 
 Application.ScreenUpdating = False
 
 wkAfilename = InputBox("ファイル名を入力してください")
 Set wkAgt = Workbooks.Open("C:\" & wkAfilename & ".xls")
 
  With wkAgt.VBProject
  With .VBComponents
   .Import ("D:\インポート元ファイル\Module1.bas")
  End With
 End With
  
 End Sub

【10755】Re:モジュールのインポートについて
回答  Jaka  - 04/2/12(木) 13:59 -

引用なし
パスワード
   変数の宣言がめちゃくちゃだったんで、2回目。

Sub MD_IMPORT()
  Dim wkAgstr As String, wkAgt As Workbook
  Dim wkAfilename As String
  Dim WB As Workbook, OK As Boolean
  
  wkAfilename = InputBox("ファイル名を入力してください")
  wkAgstr = "C:\" & wkAfilename & ".xls"
  'wkAgstr = ThisWorkbook.Path & "\マクロをインポートされるブック.xls"
  
  If Dir(wkAgstr) = "" Then End
  For Each WB In Workbooks
    If WB.Name = Dir(wkAgstr) Then
      OK = True
    End If
  Next
  If OK Then
    Set wkAgt = Workbooks(Dir(wkAgstr))
  Else
    Set wkAgt = Workbooks.Open(wkAgstr)
  End If
  With wkAgt.VBProject.VBComponents
    .Import ("D:\インポート元ファイル\Module1.bas")
    '.Import (ThisWorkbook.Path & "\Module1.bas")
  End With
End Sub

【10762】ありがとうございました。
お礼  chii  - 04/2/12(木) 15:45 -

引用なし
パスワード
   ▼Jaka さん:
>変数の宣言がめちゃくちゃだったんで、2回目。

Jakaさん早速の回答ありがとうございました。
出来ました!!

wkAgtを開いて入る時は、
Set wkAgt = Workbooks(Dir(wkAgstr))
にすればいいんですね。。
勉強になりました。
本当にありがとうございました。

12389 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free