Wie Schreiben Sie Ein OneNote 2013-Seite Mit C# und OneNote Interop
Ich habe viele Artikel gesehen, aber alle von Ihnen sind entweder unvollständig oder nicht beantworten Sie meine Frage. Mit C#
und OneNote Interop, ich möchte einfach nur schreiben von text in eine vorhandene OneNote 2013-Seite. Derzeit habe ich ein OneNote-Notizbuch, mit einem Abschnitt, der "Sample_Section
" und eine Seite namens "MyPage"
.
Ich muss in der Lage sein zu verwenden C#
code zu schreiben, der text zu dieser Seite, aber ich kann nicht herausfinden, wie oder finden keine Ressourcen, dies zu tun. Ich habe mir alle code-Beispiele auf der web-und keine Antwort auf diese einfache Frage oder sind in der Lage, dies zu tun. Auch viele der code-Beispiele, die veraltet sind und brechen, wenn Sie versuchen, um Sie auszuführen.
Benutzte ich die Microsoft
code-Beispiel, das zeigt, wie ändern Sie den Namen einer Sektion, aber ich finde keine Codes zum schreiben von text in eine Page
. Es gibt keinen einfachen Weg, dies zu tun, dass ich sehen kann. Ich habe sehr viel Zeit genommen, dies zu erforschen, und sehen Sie die verschiedenen Beispiele online, aber keine sind in der Lage zu helfen.
Habe ich schon gesehen das MSDN
Artikel auf der OneNote
Interop
als gut. Ich vage zu verstehen, wie die OneNote
Interop
funktioniert durch XML
aber zusätzliche Hilfe Verständnis, dass würde auch geschätzt werden. Am wichtigsten ist würde ich wirklich zu schätzen ein code-Beispiel, das zeigt, wie Sie text schreiben, um eine OneNote
2013 Notebook-Seite.
Habe ich versucht, mit diesem Stack Overflow-Antwort:
Die Schaffung neuer One Note 2010 Seite von C#
Allerdings gibt es 2 Dinge über diese Lösung, die keine Antwort auf meine Frage:
1) Der markierten Lösung zeigt, wie Sie eine neue Seite erstellen, nicht wie text schreiben oder wie füllen Sie die Seite mit allen Informationen.
2) Wenn ich versuche den code auszuführen, der markiert ist als die Lösung, bekomme ich eine Fehlermeldung in der folgenden Zeile:
var node = doc.Descendants(ns + nodeName).Where(n => n.Attribute("name").Value == objectName).FirstOrDefault();
return node.Attribute("ID").Value;
Der Grund dafür ist, dass der Wert der "Knoten" ist null, jede mögliche Hilfe würde sehr geschätzt werden.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fragte ich die gleiche Frage auf MSDN-Foren und bekam diese tolle Antwort. Unten ist ein nettes, sauberes Beispiel, wie Sie OneNote verwenden von C# - und OneNote-interop. Ich hoffe, dass diese Hilfe können Menschen in der Zukunft.
Dies ist genau das, was habe ich gewonnen aus der Lektüre-Beispiele auf der web - (natürlich, Sie haben schon gelesen alle diese) und spähen in die Wege OneNote speichert seine Daten in XML mit Hilfe von ONOMspy (http://blogs.msdn.com/b/johnguin/archive/2011/07/28/onenote-spy-omspy-for-onenote-2010.aspx).
Wenn Sie arbeiten möchten, mit OneNote-Inhalten, benötigen Sie ein grundlegendes Verständnis von XML. Schreiben von text in eine OneNote-Seite umfasst das erstellen einer outline-element, dessen Inhalte enthalten sein, in
OEChildren
Elemente. Innerhalb einerOEChildren
element, Sie können viele andere Kind-Elemente, die Inhalt. Diese können vom TypOE
oderHTMLBlock
, wenn ich lese das schema korrekt. Ich persönlich habe immer nur verwendetOE
, und in diesem Fall haben Sie eineOE
element enthaltenT
(text -) element. Der folgende code erstellt eine Gliederung XElement und fügen Sie text hinzu:Hier ist, was die eigentlichen XML-du bist das senden an OneNote aussieht:
Hoffe, das hilft Ihnen den Einstieg!
Aufgabe kann leicht gelöst werden, mit Aspose.Hinweis. Folgende code erstellt ein neues Dokument und fügt text hinzu, um seinen Titel:
Wenn Sie C# verwenden, Überprüfen Sie heraus die neuere OneNote-REST-API auf http://dev.onenote.com. Es unterstützt bereits die Erstellung einer neuen Seite und hat ein beta-API-patch und dem hinzufügen von Inhalt zu einer bestehenden Seite.