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アドインとして問題無く動作しました。

関連記事

  1. アイコン一覧

    Office 2013 アイコン一覧(G)

    ・Office 2013 アイコン一覧 NUM…

  2. Office アドイン

    [Office用アプリ]「ActiveViewChanged」イベントと「getActiveView…

    v1.1で追加された、ビューが変更された時に発生するイベント「Acti…

  3. Office関連

    Word 2013では文書にオンライン ビデオを挿入できるようになりました。

    ※ この情報はOffice 2013 カスタマー プレビュー版を元にし…

  4. Office関連

    選択中の表の行数を取得するWordマクロ

    「Word VBA 表 行数」といったキーワード検索でのアクセスがあり…

  5. Office関連

    テキストボックス等Shapeオブジェクトのテキストのみを置換するWordマクロ

    Word MVPの新田さんのブログで気になる記事がありました。…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

RapidSSL_SEAL-90x50
PAGE TOP