2017-04-26 2 views
0

vb.net을 사용하고 onenote에서 노트 밖으로 텍스트를 추출하려고합니다 (OneNote2010 또는 2016에 대해 해결할 것입니다.). 다음 코드는 책 및 섹션 이름을 텍스트 상자 (테스트 용)에 표시하지만 메모의 실제 내용은 표시하지 않습니다. 나는 이것을 한 번하는 방법을 알게되면 매우 쉽게 알 수 있습니다. 하지만 나에 대한 나/구글 검색 마법의 명령을 알아낼 수없는 삶에 대한. (Visual Basic의 경우).XmlDocument 클래스를 사용하여 OneNote에서 노트 콘텐츠 추출

읽어 주셔서 감사합니다.

Imports Microsoft.Win32 
Imports System.Security.Permissions 
Imports Microsoft.Office.Interop 
Imports System.Xml 

Public Class Form1 

    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click 

     Dim strNamespace As String = "http://schemas.microsoft.com/office/onenote/2013/onenote" 
     Dim outputXML As String 
     Dim onApplication As OneNote.Application = New OneNote.Application 
     onApplication.GetHierarchy(Nothing, OneNote.HierarchyScope.hsSections, outputXML) 

     Dim xmlDoc As XmlDocument = New XmlDocument() 
     xmlDoc.LoadXml(outputXML) 
     Dim nsmgr As XmlNamespaceManager = New XmlNamespaceManager(xmlDoc.NameTable) 
     nsmgr.AddNamespace("one", strNamespace) 

     Dim Testa As XmlNode = xmlDoc.SelectSingleNode("//one:Section[@name='TestNote']", nsmgr) 

    TextBox1.Text = outputXML 

    End Sub 

End Class 

답변

0

페이지 내용을 얻으려면 해당 pageID로 onApplication.GetPageContent()를 호출해야합니다.

결과 XML을보십시오. 당신은 아마 모든 것을 찾아야 할 것입니다 : T 요소와 연결하십시오. 총알과 하나 : 목록의 번호를 찾아야합니다.

다음은 모든 요소를 ​​설명하는 XSD입니다. https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/63/17/0336.OneNoteApplication_2013_xsd.txt

+0

안녕 Jayongg, 나는이 GetPageContent 경로를 시도 나는 'getpagecontent가' 'OneNote의'의 멤버가 아닙니다 얻을. 아마 그게 내 문제의 길이야? 지금까지 도와 주셔서 감사합니다. – user2261192

+0

이상합니다. 이 API를 사용하고 있습니까? https://msdn.microsoft.com/en-us/library/office/gg649853(v=office.14).aspx – jayongg

+0

대상 : "Imports Microsoft.Win32 Imports System.Security. 권한 가져 오기 Microsoft.Office.Interop Imports System.Xml " 맨 위에 ... 죄송합니다. 감사합니다. – user2261192

관련 문제