質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

MATLAB

MATLABはMathWorksで開発された数値計算や数値の視覚化のための高水準の対話型プログラミング環境です。

Q&A

1回答

1247閲覧

COMサーバー経由でエクセルのマクロを実行したときにアドインが有効にならない

hiro25

総合スコア16

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

MATLAB

MATLABはMathWorksで開発された数値計算や数値の視覚化のための高水準の対話型プログラミング環境です。

0グッド

1クリップ

投稿2018/06/27 15:58

件名にあるとおりなのですが、
COMサーバー経由でエクセルのマクロを実行した時に、アドインが有効にならないため、
マクロの実行に失敗してしまいます。

呼び出し元は、MATLABのmスクリプトから、エクセルのマクロを実行させています。

MATLAB

1% オブジェクトの生成 2ExcelApp = actxserver('Excel.Application'); 3% Excel画面の表示 4ExcelApp.Visible = 1; 5% カレントフォルダにあるファイルを開く 6ExcelApp.Workbooks.Open(fullfile(pwd,'\myFile.xls')); 7% Macro3の実行。マクロは"Module1"モジュールに定義されている。 8retVal = ExcelApp.Run('Macro3', 'aaa'); 9% Excelを終了し、オブジェクトを消去します。 10ExcelApp.Quit; 11ExcelApp.release;

呼ばれたエクセル側のマクロでは、
アドインのデータ分析の、「回帰分析」を行っています。
ですが、このアドインが有効にならないため、回帰分析に失敗してしまいます。

以上、よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

Excelオブジェクトをプログラムで起動した場合に、
アドインが一緒に起動していないのだと思います。
(こちらの環境でVBAでExcelを起動するとそうだったので)

なので、強制的にアドインを開いてやる必要があるかと。

VBAのコードを参考まで。

VBA

1Dim AddIn As AddIn 2For Each AddIn In ExcelApp.AddIns 3 With AddIn 4 If .Installed = True And .IsOpen = False Then 5 Call ExcelApp.Workbooks.Open(.FullName) 6 End If 7 End With 8Next

投稿2018/06/28 00:34

ExcelVBAer

総合スコア1175

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hiro25

2018/06/28 13:32

ご回答ありがとうございます! ご教授していただいたコードの後に、アドインを使ったコード(回帰分析)を記載して、 実行しますと、アドインを使ったコード(回帰分析)のところで、 「マクロが実行できません。このブックでマクロが使用できないか、またはすべてのマクロが無効になっている可能性があります」といったエラーが発生して、アドインが実行できませんでした。 何か解決方法などありますでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問