• ベストアンサー

VBからPowerShellを使う

VBからPowerShellを使用するには、参照設定でSystem.Management.Automation.DLLを追加すれば利用可能になります。 今回、MS AccessからActive DirectoryをPowerShellで直接制御するコードを書きたいのですが、MS Access VBAの参照設定画面ではSystem.Management.Automation.DLLを追加しようとすると「指定されたファイルへの参照は登録できません。」とのメッセージが出ます。 これは仕様なのでしょうか、それとも何か設定上の問題があるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんばんは。 >VBからPowerShellを使用するには、参照設定でSystem.Management.Automation.DLLを追加すれば利用可能になります。 今、試してみましたが、確かに、この内容は間違いありませんが、VB.Net の参照設定からです。Office 2003 以上なら、.Net Framework は多少使えますが、本当に、PowerShell を、VBA から動かせるのでしょうか。もし、できるとしたら、一旦、COMで作ってアドインにしてからではありませんか?

nankipoo
質問者

お礼

ご回答ありがとうございます。 やはり、そもそも可能なのか?という問題があるようですね。何か別の方法を考えてみたいと思います。

関連するQ&A

  • VBAで呼び出したVBのDLLのデバッグ方法

    VB2010で、COM相互運用機能を使って作成したDLLを VBAから呼び出すことはできるのですが この状態でこのDLLをデバッグすることはできないでしょうか。 本来ならば、DLLをデバッグするテストプログラムを VB2010のVB.NETのWindowsフォームアプリケーションか ConsoleApplication1で作成して、 同じソリューションの中に DLLとテストプログラムのプロジェクトを配置して 参照の追加でDLLを参照設定して 両者をデバッグをすると思われますが、 テストプログラムを作るのがかなり大変なのと、 今回作成したDLLは、元々はVBAの中のひとつのプロシージャ―で、 事情があって、このプロシージャ―だけをVBのDLLにしたものです。 このプロシージャ―は元々はVBAの中で正しく動作していたものです。 VBに書き直した時に何らかの不具合が起きていると思われます。 テストプログラムを作らずに、既存のVBAから呼び出して、 DLLの部分の動作だけを(できればVB2010で)デバッグできないでしょうか。 よろしくお願いします。 (WindowsXP SP3 , Excel2003のVBA , Visual Studio 2010)

  • VB.Netでのエラーについて

    こんにちわ。 いまVB.Netでプログラミングしている者です。 あるVBプロジェクトファイル(aaaa.dllとします)で ある.dllファイル(bbbb.dllとします)を参照設定しています。 そこでこのVBプロジェクトファイルをビルドすると, このVBプロジェクトファイル内のあるVBファイルの行で, 「Public Function ~」はプロジェクトbbbb.dllで宣言されていますが,プロジェクトaaaa.dllによって参照されていません。」 というコンパイルエラーになってしまいます。 ソリューションエクスプローラで見たところ, 上記のVBプロジェクトファイルの参照設定で,bbbb.dllはエラー表示されていません。 念のためbbbb.dllを一旦削除して,最新のbbbb.dllを改めて「参照追加」したのですが,状況が変わりません。 このエラーは何が原因なのでしょうか? 教えてください。よろしくお願いします。

  • VB.NETでDLLを読み込ませる時にエラーがでる

    VB.NET DLLがついているプログラムで、他のパソコンで動作確認済みの物を頂いたのですが、動きません。 ■現象 (1)VisualStudio .Netでソースを開きます。 (2)ソリューションエクスプローラの参照設定から****.dllを削除します。 (3)メニューのプロジェクトで参照の追加を選択します。 (4)参照の追加画面でCOMタブを選択します。 (5)参照ボタンをクリックし、System32フォルダ内より****.dllを 選択します。 (6)「選択されたコンポーネント」のリストにに****.dllが存在することを 確認 (7)OKボタンをクリックします。←ここでエラーがでます ■エラー 『'C:\WINDOWS\system32\xxxxxx.dllへの参照を追加できませんでした。タイプライブラリを読み込めませんでした。タイプライブラリ/DLLの読み込みエラーです。』 どなたか教えてください><めちゃくちゃ困ってます

  • VB2008でDLLの取込みできない

    VB2008Expressが無料配布していたので始めたばかりの初心者です。 玄人志向の学習リモコン「KURO-RS」(PC-OP-RS1)を操作するアプリを作ろうと試みているのですが、付属のSDKや下記コントロールDLLのVB2008への取り込み方がわかりません。 「PC-OP-RS1-CONTROL.DLL」 http://1c3.world.coocan.jp/wiki/ (「2008-06-08コントロールDLLを作ろう」にあります。VC++ソースもあります) 『参照の追加』を行っても「’~.dll’への参照を追加できませんでした。ファイルがアクセス可能で、有効なアセンブリまたはCOMコンポーネントであることを確認してください」とメッセージが出て取り込むことができませんでした。

  • .NET framework2.0には1.1が含まれていますか?また、VB.NETに2.0を反映される方法は?

    .NET2.0をインストールしたのですが、アプリケーションの追加と削除で、.NET Framework1.1と2.0が両方あります。 これは別物なのですか?2.0が入っていれば1.1は消してもいいのでしょうか? また、VB.NETの参照の設定をみると、1.1のdllしか参照していません。 どのように2.0にアップデートすればいいのでしょうか?

  • VB.NET2005の参照設定について

    VB.NET2005の参照設定について 新規プロジェクトで開くときにすでに作成したクラス(dll)を、デフォルトで参照設定されているようにできないでしょうか?

  • VBから参照できないCのDLLを使用する方法

    Cで作成されたDLLがあるのですが、VBから参照設定しても「指定されたファイルへの参照は登録できません。」と怒られます。 そのようなDLLをどうしてもVBから使用したい場合はどうすれば良いでしょうか? 直接は無理だとしても、間に何かをかましてできると思うのですが、良い方法があれば教えてください。 ちなみに VB6 です。 よろしくお願いします。

  • VB2010で作成したdllからtlbが作れない

    VB.NETで作成したDLLをExcelのVBAから呼び出すということをやっています。 VB2007のときはよかったのですが、VB2010にしてからうまくいかなくなりました。 具体的には、コンパイルしてClassLibrary1.dllファイルを作成してから C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe ClassLibrary1.dll /tlb:ClassLibrary1.tlb /codebase を実行すると、 ClassLibrary1.dllは有効な.NETアセンブリではないため、読み込めませんでした。 となります。 ClassLibrary1の「アセンブリをCOM参照可能にする」にはチェックを入れています。 おわかりの方がいらっしゃいましたら、どうぞよろしくお願いいたします。

  • VB5からAccess97が起動できない

    メイン部分をVB5、DBと印刷業務をAccess97で開発したアプリがOSをWindows95からWindows2000に変更したら、VBからAccessが起動しなかったり、VB終了後もAccessが残ったりします。今の仕様はAccessからVBメニューを起動し、印刷業務を選択した時にAccessをActiveにする設計になっています。VB5からAccess97の制御方法に問題があるようですが、対応方法が判りません。どなたかご存知の方は教えてください。

  • VB40032.DLLについて

    あるプログラムを実行するにあたり下記のような文が掲載してありました。 「このプログラムを実行するためにはVB40032.DLL(ビジュアルベーシックのダイナミックリンクライブラリー)が必要です。 あらかじめインストールされているパソコンではその場で実行できます。 実行してみて「DLLが見つかりません」等のエラーが出た場合は以下の操作を行ってください。 VB40032.DLLをダウンロードし¥WINDOWS\system32フォルダへ(このフォルダーがない場合は¥WINDOWS\systemフォルダ)に保存します。」 実際に¥WINDOWS\system32フォルダに保存しようとしたら「この場所に保存するアクセス許可がありません。管理者に連絡してアクセス許可を取得してください。」というメッセージになりました。ちなみにOSはWindows7です。 どうすればよろしいでしょうか?

専門家に質問してみよう