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

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

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

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

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

Q&A

解決済

1回答

12582閲覧

VBAのActiveXエラーを解決したいです

breakQuestion

総合スコア14

VBA

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

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

0グッド

2クリップ

投稿2016/04/19 08:11

編集2016/04/20 01:23

VBA初心者です。

現在、WindowsアプリからExcelを表示するアプリを製作中ですが、Excelの起動条件の違いで、動作が異なる現象が発生して困っています。

①管理者権限で起動したWindowsアプリよりVBAを実装したExcelファイルを表示
→ 起動時に「Activexコンポーネントはオブジェクトを作成できません」とエラー発生
②通常権限で起動したWindowsアプリよりVBAを実装したExcelファイルを表示
→ 正常に動作
③VBAを実装したExcelファイルを手動で表示
→ 正常に動作

①・②のアプリは処理自体は同じアプリで、マニフェストファイルのみ変更したものです。

①の時の設定
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

②の時の設定
<requestedExecutionLevel level="asInvoker" uiAccess="false" />

です。

Excelファイル内のVBAでは、workbook_openイベントにてVB.Netで作成したタイプライブラリを呼び出しています。

Windowsアプリはインストーラーでの配布を考えているため、
タイプライブラリの登録を、Visual Studio Installerのカスタムアクションにて登録してます(regasmコマンドにて登録。OLEビュアーにてタイプライブラリが登録されていることは確認済みです)

何か考えられる原因がありましたら教えてください。
よろしくおねがいします。

○開発環境
Win7(32bit)、Excel2010、VS2013(VB.Net .NETFramework4.0)

追加情報

・Excelの起動方法
WinアプリからのExcelの起動は以下にて行っています。

Dim xlsApp As Excel.Application
Dim xlsWorkBooks As Excel.Workbooks = Nothing
Dim xlsWorkBook As Excel.Workbook = Nothing

xlsWorkBooks = xlsApp.Workbooks
xlsWorkBook = xlsWorkBooks.Open("a.xls")

・①の状況時にタスクマネージャーで「UACの仮想化」を確認したところ
WinアプリおよびExcel.exeともに「有効(ブランク)」でした。

・①の後にコマンドプロンプトを管理者権限で起動し、regasmコマンドを実行したところ、
①でもエラーが発生しなくなりました。

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

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

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

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

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

KoichiSugiyama

2016/04/19 22:53 編集

WindowsアプリからExcelを実行する方法はどういったやり方を採用されていますでしょうか。ご質問にある情報からだと、WindowsアプリのプロセスとExcelのプロセスが違う権限で実行されているためのように見えます(そういう動作になることがあり得るのかちょっと不明ですが)。ですのでそのあたりを明確にしていただけると、より的確なアドバイスが集まりやすいのではないかと思います。
breakQuestion

2016/04/20 01:23

ご指摘ありがとうございます。情報追記してみました。
guest

回答1

0

ベストアンサー

関係あるかわかりませんが……。
ttp://gomi-box.hatenablog.com/entry/20100913/1284366633

デバッガでなく、
コンパイル済みのexeファイルとしては実行できますか?

エクセルを開く時にエラーが発生しているのだとしたら
あまり関係ないかも……。

投稿2016/04/20 06:57

torisan

総合スコア678

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

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

breakQuestion

2016/04/20 08:00

torisan様 回答ありがとうございます。 今回登録した内容はコンパイル済みのexeで実行した結果です。 (記載不足ですみません) VSを管理者権限とした上で、デバッガからの起動でも現象は同じでした。
breakQuestion

2016/06/29 01:00

クローズします。ご回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問