Office関連

「NetOffice」で簡単に.NETからOfficeを操作

ネットで「NetOffice」なるツールがあることを知ったので、早速試してみました。
CodePlexのページによると、Microsoft Office製品にアクセスするための.NETラッパーアセンブリのようで、Officeのバージョンに関係なく簡単にコードが書けるとのこと。

ツール本体のダウンロードは上記ページの「download」リンクから行えますが、今回はプロジェクトウィザード等の開発支援機能が充実している「Developer Toolbox」を使ってサンプルアプリケーションを作成してみました。

下記ダウンロードページから「NetOffice Developer Toolbox 1.1.rar」ファイルをダウンロードして適当なフォルダに解凍します。

・NetOffice – MS Office in .NET – Download: NetOffice Release 1.4.1
http://netoffice.codeplex.com/releases/view/70943

出力された「NetOffice.DeveloperToolbox.exe」ファイルを実行し、「VS Project Wizard」タブからプロジェクトウィザードを実行します。

ウィザードの指示に従って進めていくと、最後にプロジェクトが作成されます。

作成されたプロジェクトをひな型として書いたコードが下記の通りです。

・Form1.vb

Imports NetOffice
Imports Word = NetOffice.WordApi
Imports NetOffice.WordApi.Enums
Imports Office = NetOffice.OfficeApi
Imports NetOffice.OfficeApi.Enums
Imports VBIDE = NetOffice.VBIDEApi
Imports NetOffice.VBIDEApi.Enums

Public Class Form1

    Public Sub New()
        InitializeComponent()
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim appWord As New Word.Application
        Dim docNew As Word.Document = appWord.Documents.Add()

        docNew.Range(0, 0).InsertAfter("Hello.")
        appWord.Visible = True
        MsgBox("Wordを終了します。")
        appWord.Quit(WdSaveOptions.wdDoNotSaveChanges)
        appWord.Dispose()
    End Sub
End Class

Wordを操作して新規文書を追加後に文章入力、最後に文書を閉じるという簡単なプログラムですが、ビルドして実行したところ問題無く動作しました(Word 2013 CP)。

.NETからのOfficeオートメーションは後始末がかなり面倒臭かった印象があるのですが、どうやらそこら辺をNetOfficeが上手く処理してくれているようで(詳しく調べていないのでNetOfficeがどう処理しているかは私の方では未確認です)、文書を閉じた後にWordのプロセスが残ったままになる、といったこともありませんでした。
リボンをカスタマイズしたCOMアドインの作成も試してみましたが、こちらも特に問題無く、非常に簡単な手順で作成することができました。

ほんの少ししか触っていないのですが、”かなりお手軽でかなり便利なツール“という印象です。
Officeオートメーションで困った経験をお持ちの方、一度試してみてはいかがでしょうか?

ちなみに、NetOffice Developer Toolboxで作成したプロジェクトファイルをSharpDevelop 3.2でビルドしたところ、COMアドインとして問題無く動作しました。

Wordマクロで文字数を取得する方法をまとめてみました。前のページ

Office付属のVBEでVBScriptコードを書くのを助けるVBScript次のページ

関連記事

  1. Office関連

    PDFファイルのフィールドを読み取り専用にするVBAマクロ

    「PDFのフィールドに値を入力した後、読み取り専用にするにはどうしたら…

  2. Office アドイン

    [Office用アプリ]日本のOfficeストア向けにもアプリを登録できるようになりました。

    Officeストアにアプリを登録する際、これまではアプリのサポート言語…

  3. Office関連

    右クリックメニューを非表示にするExcelマクロ

    Answersに図形を右クリックしたときのメニューをマクロで非表示にし…

  4. その他

    Microsoft製まとめサイト!?「Curah!」の紹介

    Microsoftの開発者部門副社長である S. Somasegar …

  5. Office関連

    セルの行数をカウントするWordマクロ

    「ソースコードを番号行付きのテーブルに変換するWordマクロ」を実行し…

  6. Office関連

    Locationヘッダの情報を取得するVBAマクロ

    通常、下記のようなリダイレクトされるWebページを開いたとき、…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP