Excel

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関連

    指定したファイルをエクスプローラーで開いて選択するVBAマクロ

    マクロから直接ファイルを開くこともできるけどファイルの操作はユーザーに…

  2. Office アドイン

    [Office用アプリ]Mashup Awards 9にOffice 用アプリで応募できる!?

    日本最大級のWebアプリケーション開発コンテスト「Mashup Awa…

  3. Office アドイン

    [Office用アプリ]マニフェストファイルで多言語対応させる。

    Office用アプリの各種設定を定義するXMLマニフェストファイルです…

  4. Office関連

    PowerShellからClosedXMLを使ってExcelファイルを作成する方法

    以前C#からClosedXMLを使ってExcelファイルを操作する方法…

  5. Office関連

    段落内改行を一括置換するOutlookマクロ

    「段落内改行 置換 Outlook マクロ」といったキーワードでのアク…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP