Hatena::Grouppython

nelnal@python

2010-09-11

[][] Office XP を Iron PythonC# から使えるようにする方法 22:31  Office XP を Iron Python や C# から使えるようにする方法 - nelnal@python を含むブックマーク はてなブックマーク -  Office XP を Iron Python や C# から使えるようにする方法 - nelnal@python

結構迷ったので簡単ながらメモ。


1. .NET Framework 2.0 をインストールする

Microsoft .NET Framework Version 2.0 再頒布可能パッケージ (x86)

必要に応じてアップデートもしておくこと。

ちなみに入れたかどうか忘れてしまった場合は、

以下の方法でインストール状況を調べる

.NET Frameworkのバージョンを確認する方法



2. .NET Framework 2.0 SDKインストールする

Microsoft .NET Framework 2.0 SDK 日本語版 (x86)


3. Office XP 用のPIA(Primary Interop Assembly)をインストールする

Primary Interop Assembly というソフトで COM と .NET 環境の橋渡しをするらしい。

Office XP PIAs

ダウンロードしたらこれを実行する。実行するとファイルの展開先を訊かれるので、適当な箇所に展開する。

ここでは「C:\temp」としておく。


4. コマンドプロンプトを起動する

5. gacutil.exe のあるパスへの環境変数を設定する。

環境変数 PATH に gacutil.exe へのパスを追加する。

gacutil.exe は .NET Framework 2.0 SDK が問題なくインストールできていれば「C:\Program Files\Microsoft.NET\SDK\v2.0\Bin」に存在するので、そのパスを追加してやる。

> set PATH=%PATH%;C:\Program Files\Microsoft.NET\SDK\v2.0\Bin

PATHが正しく設定出来ているか一応確認

> echo %PATH%

または gacutil.exe コマンドを打って確かめても良い



6. PIAの登録を行う

gacutil.exe へのパスが通ったのを確認したら、PIAファイルを展開したパスに移動する。

移動後、PIAファイル群に含まれている register.bat を打てばPIAの登録作業(Assemblyとレジストリへの登録)が始まる。

> cd C:\temp
C:\temp> register.bat

登録が上手くいっていれば、以下の様なメッセージが出る

C:\temp> register.bat

C:\temp>echo off
Microsoft Office XP Primary Interop Assemblies Registration Utility
Copyright (c) 2002 Microsoft(R) Corporation. All rights reserved.
Note: This utility must be run from the Visual Studio .NET Command Prompt. It wi
ll not function properly otherwise.
Start adding primary interop assemblies to the global assembly cache.

C:\temp>gacutil -i Microsoft.Office.Interop.Access.dll
Microsoft (R) .NET Global Assembly Cache Utility.  Version 2.0.50727.42
Copyright (c) Microsoft Corporation.  All rights reserved.

アセンブリが正しくキャッシュに追加されました

7. ログアウトまたは再起動

レジストリへの登録が行われたので、ログアウトまたは再起動をおこなう。


これで作業は完了です。



IronPython で動作確認

IronPython Console を起動して以下の様に記載する

>>> import clr
>>> clr.AddReference("Microsoft.Office.interop.Excel")

ここまで入力してエラーが出なければ問題なくインストール出来ている。


IronPython での Excel マクロの実行方法などは他のページを当たってください。

トラックバック - http://python.g.hatena.ne.jp/nelnal_programing/20100911