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

MayhemのOfficeModulesが更新されました。前のページ

OneNoteの指定したセクションをページごとに指定した形式で出力するマクロ次のページ

関連記事

  1. Office関連

    PDFファイルにヘッダーとフッターを追加するVBAマクロ

    mougに“マクロで既存のPDFファイルのフッターを操作(追加)したい…

  2. Office アドイン

    [Officeアドイン]地図記号挿入アドイン

    ちょっとずつ作成していたWord用のOffice アドインがようやくO…

  3. Windows 10

    起動中のMicrosoft EdgeからタイトルとURLを取得するVBAマクロ(DOM編)

    前回の記事で、UI Automationを使って起動中のMicroso…

  4. Excel

    Acrobatを使ってPDFのドロップダウンリストに項目を追加するVBAマクロ

    久々のVBAネタです。“Acrobatを使って手作業で更新している…

  5. Office関連

    64ビット環境かどうかを判別するVBAマクロ

    2年以上前にMicrosoft Community(当時はMicros…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP