Office関連

OneNoteのノート名を列挙するマクロ

今回はOneNoteのノート名を列挙するマクロを紹介します。

Option Explicit

Public Sub Sample()
'OneNoteのノート名を列挙する

'GetHierarchyメソッドの第2引数:hsScopeで指定する値は下記の通り
'  hsSelf:0
'  hsChildren:1
'  hsNotebooks:2
'  hsSections:3
'  hsPages:4

  Dim x As String
  Dim elm As Object
  
  CreateObject("OneNote.Application").GetHierarchy vbNullString, 2, x
  With CreateObject("Msxml2.DOMDocument")
    .async = False
    If .LoadXML(x) Then
      For Each elm In .SelectNodes("/one:Notebooks/one:Notebook")
        Debug.Print elm.getAttribute("name")
      Next
    End If
  End With
End Sub

最初はApplicationオブジェクト > Notebooksオブジェクト > Notebookオブジェクト、のような形になっているのかと思っていましたが、実際は違っていました。
ノートやセクションの情報を得るには、GetHierarchyメソッドで階層構造をXMLとして取得し、ノードを列挙していけば良いようです。

・Office 2010 の開発者のための新機能 – OneNote 2010
http://msdn.microsoft.com/ja-jp/library/ff955606.aspx#odc_office14_ta_WhatsNewforOffice2010Developers_OneNote2010

関連記事

  1. Office関連

    ドラッグ&ドロップでExcelのアドインを登録するVBScript

    「ドラッグ&ドロップでWordのテンプレートを登録・解除する(VBS)…

  2. Office関連

    Officeアプリケーションのバージョン情報ダイアログから情報を取得するVBScript

    自分の手間を減らすためのスクリプトシリーズ、今回はWordやExcel…

  3. Office関連

    [PowerPoint]ドキュメントを開いたときに自動的にマクロを実行する

    ドキュメントを開いたときに自動的にマクロを実行する方法として、Word…

  4. Office関連

    Wordのテンプレートをインストールするスクリプト

    Wordマクロをテンプレートにして使用する場合、通常そのテンプレートフ…

  5. Office関連

    Office製品の開発チームにユーザーの声を届けよう!

    Office 用アプリやSharePoint 用アプリを開発する際「こ…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

RapidSSL_SEAL-90x50
PAGE TOP