OneNoteをVBAでいじる - すべてのページの名前を取得
下記のコードを、標準モジュールに貼り付けてください。
イミディエイトウィンドウで
AllPageNameToImmediate(GetNoteBookID("あなたのノートブックの名前")) [Return]
で、番号:ページ名 の書式で全てページ名が出力されます。
Public Sub AllPageNameToImmediate(ByVal noteBookID As String) Dim oneNoteApp As oneNote.Application Dim oneNotePagesXml As String Dim doc As Object Dim nodes As MSXML2.IXMLDOMNodeList Dim node As MSXML2.IXMLDOMNode Dim pageName As String Dim pageXml As String Dim cnt As Long Set oneNoteApp = New oneNote.Application oneNoteApp.GetHierarchy noteBookID, hsPages, oneNotePagesXml Set doc = CreateObject("Msxml2.DOMDocument") Call doc.loadXML(oneNotePagesXml) Set nodes = doc.DocumentElement.SelectNodes("//one:Page") 'Debug.Print oneNotePagesXml MsgBox "nodes.length =" & nodes.Length cnt = 0 For Each node In nodes DoEvents: DoEvents pageName = node.Attributes.getNamedItem("name").Text cnt = cnt + 1 Debug.Print cnt & ":" & pageName Next End Sub