none
Excelのマクロを実行させるには? RRS feed

  • 質問

  • いつもお世話になっております。

    今回は、データをExcelファイルに出力するプログラムを作成していまして、また、つまってしまいました。

    いい方法を知っていらっしゃる方、よろしくお願いします。

     

               Dim xlApp As Object
                Dim xlBk As Object
                 xlApp = CreateObject("Excel.Application")
                xlBk = xlApp.Workbooks.Open(FileName:="C:\Documents and Settings\User1\My Documents\予定表.xls", ReadOnly:=False)

    とオブジェクトでBOOKを開いてデータを書き込んで保存はできますが、保存の前に行の挿入、シートの複製をしてから保存したくExcelの中にマクロを作成して実行させようと思ったのですが・・・

    ただ、 >>  xlBk.Macro1() ・・とマクロを呼んでも出来ませんでした。どうしたらマクロを実行できるのでしょうか?

    よろしくお願いします。

     

    2007年3月26日 5:50

回答

  • キョンママさん、こんにちは。

     キョンママ さんからの引用
    xlBk.Macro1() ・・とマクロを呼んでも出来ませんでした。どうしたらマクロを実行できるのでしょうか?

    とある関数を実行したいのであれば、Excel.Application インターフェイスから Run メソッドです。
    今回のソースですと、


    xlApp.Run("関数名", 引数1, 引数2 .... 引数n)
     

    というコードで呼び出せるでしょう。

    それと、余計なことかもしれませんが......

    xlBk = xlApp.Workbooks.Open(FileName:="C:\Documents and Settings\User1\My Documents\予定表.xls", ReadOnly:=False)

    VB.NET (CLR) + Office PIA (Microsoft Excel xx.x Object Library) で、こちらのソースコードを実行されているとすれば、COM の参照カウントのデクリメントの機会を失い、メモリ リークの原因となります。

    2007年3月26日 7:26

すべての返信

  • キョンママさん、こんにちは。

     キョンママ さんからの引用
    xlBk.Macro1() ・・とマクロを呼んでも出来ませんでした。どうしたらマクロを実行できるのでしょうか?

    とある関数を実行したいのであれば、Excel.Application インターフェイスから Run メソッドです。
    今回のソースですと、


    xlApp.Run("関数名", 引数1, 引数2 .... 引数n)
     

    というコードで呼び出せるでしょう。

    それと、余計なことかもしれませんが......

    xlBk = xlApp.Workbooks.Open(FileName:="C:\Documents and Settings\User1\My Documents\予定表.xls", ReadOnly:=False)

    VB.NET (CLR) + Office PIA (Microsoft Excel xx.x Object Library) で、こちらのソースコードを実行されているとすれば、COM の参照カウントのデクリメントの機会を失い、メモリ リークの原因となります。

    2007年3月26日 7:26
  • じゃんぬねっとさん いつもありがとうございます。

    おかげさまでうまく動いてくれました。

    >> ・・・・ COM の参照カウントのデクリメントの機会を失い、メモリ リークの原因となります。

    の件ですが、以前のフォーラムじゃんぬねっとさんのを参考にさせてもらって対処しております。

    ありがとうございます。

     

    2007年3月26日 8:51