過去ログ

                                Page      92
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼マクロからマクロの実行は?  カド 02/9/18(水) 6:17
   ┗Re:マクロからマクロの実行は?  通りすがりのななし 02/9/18(水) 8:11
      ┗Re:マクロからマクロの実行は?  カド 02/9/18(水) 12:43

 ───────────────────────────────────────
 ■題名 : マクロからマクロの実行は?
 ■名前 : カド
 ■日付 : 02/9/18(水) 6:17
 -------------------------------------------------------------------------
   こんにちは 。よろしくお願いします。

他サイトにて質問させて頂いたのですが、回答を頂けなかったのでこちらでも質問させて頂きます。
(このような場合もマルチポストとなるのであれば、申し訳ございません。また他サイトの質問は取り消そうとしましたが、やり方が分からずそのままです。)

以下のことをやりたいのですが、Application.Runのところがうまく動きません。。
どなたか教えてください。

マクロ1にて
1.新規ブックを作成
2.新規ブックのVBEにmodule1を挿入
3.module1にマクロ2を記述
4.マクロ1から新規ブックのマクロ2を実行

Sub AddNew()
  Dim W_Book As Workbook

  Workbooks.Add
  bbb = ActiveWorkbook.Name


  Set W_Book = Workbooks(bbb)
   
  Set Modu = W_Book.VBProject.VBComponents.Add(1)
  '標準モジュールを追加
  
  Modu.Name = "MyModule"
  '標準モジュールの名前を変更
   
  With W_Book.VBProject.VBComponents.Item(Modu.Name).CodeModule

    .InsertLines 1, "Sub aaa()"
    .InsertLines 2, ""
    .InsertLines 3, "   MsgBox ""ブックが開かれましたよ!"""
    .InsertLines 4, ""
    .InsertLines 5, "End Sub"

  End With

  Application.Run ("bbb!aaa") '←ここでaaaを実行させたいがカッコ内の
                  記述が分かりません

  End Sub
 ───────────────────────────────────────  ■題名 : Re:マクロからマクロの実行は?  ■名前 : 通りすがりのななし  ■日付 : 02/9/18(水) 8:11  -------------------------------------------------------------------------
   ▼カド さん:

>マクロ1にて
>1.新規ブックを作成
>2.新規ブックのVBEにmodule1を挿入
>3.module1にマクロ2を記述
>4.マクロ1から新規ブックのマクロ2を実行

Sub AddNew()
  Dim W_Book As Workbook

  '新しいブックを作成
  Set W_Book = Workbooks.Add
  bbb = W_Book.Name
  
  '標準モジュールを追加
  Set Modu = W_Book.VBProject.VBComponents.Add(1)

  '標準モジュールの名前を変更
  Modu.Name = "MyModule"

  With W_Book.VBProject.VBComponents.Item(Modu.Name).CodeModule

    .InsertLines 1, "Sub aaa()"
    .InsertLines 2, ""
    .InsertLines 3, "   MsgBox ""ブックが開かれましたよ!"""
    .InsertLines 4, ""
    .InsertLines 5, "End Sub"

  End With
  'ここでaaaを実行
  Application.Run "'" & bbb & "'!aaa"
  
  Set W_Book = Nothing
End Sub

’’でブック名をくくる理由は
http://www21.tok2.com/home/vbalab/bbs/c-board.cgi?cmd=one;no=12117;id=Excel
でBOTTAさんが解説されています。
 ───────────────────────────────────────  ■題名 : Re:マクロからマクロの実行は?  ■名前 : カド  ■日付 : 02/9/18(水) 12:43  -------------------------------------------------------------------------
   ▼通りすがりのななし さん:

朝早くから回答ありがとうございました。

大変助かりました。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 92