{"id":55001097,"date":"2017-08-01T00:00:00","date_gmt":"2020-05-13T21:26:31","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=1097"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"OneNote_2016_und_Access","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/OneNote_2016_und_Access\/","title":{"rendered":"OneNote 2016 und Access"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg09.met.vgwort.de\/na\/54a7c1d71686416f8bfb5673a08261f0\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Vor ein paar Ausgaben haben wir uns den Zugriff auf das Notizprogramm Evernote von Access aus angesehen. Leider bietet dieses popul&auml;re Programm keine echte VBA-Schnittstelle. Das ist beim Pendant des Herstellers Microsoft nat&uuml;rlich anders: Hier gibt es eine Objektbibliothek, die Sie in ein VBA-Projekt einbinden und mit dem Sie auf die in OneNote gespeicherten Daten zugreifen k&ouml;nnen. Im vorliegenden Beitrag schauen wir uns an, wie Sie per VBA auf die in OneNote gespeicherten Informationen zugreifen k&ouml;nnen.<\/b><\/p>\n<h2>Vor- und Nachteile<\/h2>\n<p>OneNote bietet keine offensichtlichen Nachteile im Vergleich zu Evernote, sondern eher noch Vorteile. Der gravierendste Vorteil ist, dass Sie, sofern Sie Office (zum Beispiel &uuml;ber Office 365) besitzen, keine zus&auml;tzlichen Kosten haben und der Speicherplatz f&uuml;r Ihre Notizen\/Dokumente nicht begrenzt ist. Wenn Sie bisher mit Evernote gearbeitet haben, m&uuml;ssen Sie allerdings eine anders gestaltete Benutzeroberfl&auml;che in Kauf nehmen. Diese ist nat&uuml;rlich eher an die &uuml;brigen Office-Anwendungen angelehnt. Das hat auch einen gewissen Charme, denn so gew&ouml;hnen Sie sich recht schnell daran. Als Evernote-Benutzer fragen Sie sich vermutlich auch, was nun mit allen bisher in Evernote angelegten Notizen und Dokumenten geschieht. Das ist kein Problem, denn Microsoft bietet mit dem OneNote Importer ein Tool an, mit dem Sie beispielsweise Daten aus Evernote importieren k&ouml;nnen. Bei der von mir genutzten Evernote-Notizzettelsammlung, die beispielsweise auch Hunderte von Artikeln, Magazinen und B&uuml;chern im PDF-Format enth&auml;lt, wurden nur einige wenige Elemente nicht importiert, die dann auch noch in einer &uuml;bersicht angezeigt werden. Die fehlenden Elemente kann man dann leicht selbst hinzuf&uuml;gen. In der Regel scheiterte der Import daran, dass die Elemente zu gro&szlig; waren.<\/p>\n<p>Ein Nachteil scheint jedoch die Wahl des Speicherortes zu sein: W&auml;hrend bei Evernote alle Informationen auch lokal auf dem Rechner gespeichert werden und etwa die angeh&auml;ngten PDF-Dateien in einem eigenen Ordner liegen, scheint dies bei OneNote nicht m&ouml;glich zu sein.<\/p>\n<h2>Organisation in OneNote<\/h2>\n<p>In OneNote gibt es verschiedene Ebenen. Die oberste Ebene ist die der Notizb&uuml;cher. Notizb&uuml;cher legen Sie an und w&auml;hlen Sie aus &uuml;ber den linken Reiter des mittleren Bereichs der Anwendung. Klappen Sie diesen auf, erhalten Sie den Befehl <b>Notizbuch hinzuf&uuml;gen <\/b>sowie eine Liste der aktuell ge&ouml;ffneten Notizb&uuml;cher (s. Bild 1). Au&szlig;erdem finden Sie dort einen Eintrag namens <b>Andere Notizb&uuml;cher &ouml;ffnen<\/b>, mit dem Sie die aktuell zwar in OneDrive gespeicherten, aber nicht ge&ouml;ffneten Notizb&uuml;cher &ouml;ffnen k&ouml;nnen. Wenn Sie aus Gr&uuml;nden der &uuml;bersicht ein Notizbuch schlie&szlig;en m&ouml;chten, gelingt das am besten &uuml;ber den Kontextmen&uuml;eintrag <b>Notizbuch schlie&szlig;en<\/b> des Notizbuchs in dieser Ansicht.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2017_04\/pic_1097_001.png\" alt=\"Notizb&uuml;cher unter OneNote\" width=\"424,7115\" height=\"425,4782\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 1: Notizb&uuml;cher unter OneNote<\/span><\/b><\/p>\n<p>Haben Sie ein Notizbuch geschlossen und &ouml;ffnen dieses wieder, dauert dies je nach der Menge der enthaltenen Daten recht lange. Das liegt daran, dass OneNote wohl keine lokale Kopie der Daten bereith&auml;lt und dass alle Inhalte immer aus dem Web geladen werden m&uuml;ssen. Hier arbeitet Evernote besser &#8211; die auf dem Rechner angelegten Daten werden lokal gespeichert und von dort in die Cloud synchronisiert, damit sie auch auf anderen Ger&auml;ten abgerufen werden k&ouml;nnen. Zum Test des Zugriffs auf die Elemente von OneNote haben wir zun&auml;chst zwei Notizb&uuml;cher namens <b>Test-Notizbuch 1 <\/b>und <b>Test-Notizbuch 2 <\/b>angelegt.<\/p>\n<h2>Abschnitte im Notizbuch<\/h2>\n<p>Die zweite Ebene der Notizen sind die Abschnitte. Diese erreichen Sie &uuml;ber die &uuml;brigen Registerkarten, die jeweils den Abschnittsnamen anzeigen. F&uuml;r das Notizbuch <b>Test-Notizbuch <\/b>haben wir zwei Abschnitte namens <b>Test-Abschnitt 1 <\/b>und <b>Test-Abschnitt 2 <\/b>angelegt (s. Bild 2). Wenn Sie einen dieser Registerreiter anklicken, erscheint die jeweils erste zu diesem Abschnitt gespeicherte Notiz. Diese wird auch in der Liste aller Notizen dieses Abschnitts in der Liste auf der rechten Seite angezeigt. Einen neuen Abschnitt legen Sie per Mausklick auf den Registerreiter mit dem Plus-Symbol an <b>(+<\/b>). Um den Namen einzustellen, w&auml;hlen Sie das Kontextmen&uuml; des Registerreiters aus und klicken dort auf den Eintrag <b>Umbenennen<\/b>.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2017_04\/pic_1097_002.png\" alt=\"Bereiche eines Notizbuchs\" width=\"649,559\" height=\"374,0915\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 2: Bereiche eines Notizbuchs<\/span><\/b><\/p>\n<h2>Notizen<\/h2>\n<p>Die Notizen bilden also die dritte Ebene in der Hierarchie von OneNote. Eine neue Notiz f&uuml;gen Sie durch einen Klick auf den Befehl <b>Seite hinzuf&uuml;gen <\/b>im rechten Bereich des OneNote-Fensters hinzu. Die Notizen benennen Sie einfach durch Anpassen der &uuml;berschrift um, die &uuml;ber dem Datum angezeigt wird. Um einen Inhalt einzugeben, klicken Sie einfach auf den Bereich unter dem Datum und beginnen zu tippen. Sie k&ouml;nnen einer Notiz auch einfach Bilder oder andere Elemente wie PDF-Dokumente hinzuf&uuml;gen &#8211; oder Sie erstellen einfach eine Skizze (s. Bild 3).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2017_04\/pic_1097_003.png\" alt=\"Notizbuch mit Bild\" width=\"424,7115\" height=\"445,5872\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 3: Notizbuch mit Bild<\/span><\/b><\/p>\n<h2>Zugriff per VBA<\/h2>\n<p>Damit w&auml;ren die Vorbereitungen erledigt und wir haben eine kleine Beispielstruktur f&uuml;r den Zugriff per VBA erstellt. Um tats&auml;chlich mit VBA auf OneNote zuzugreifen, ben&ouml;tigen Sie noch einen Verweis auf die entsprechende Objektbibliothek.<\/p>\n<p>Diesen f&uuml;gen Sie im VBA-Projekt der Datenbankdatei, mit der Sie auf OneNote zugreifen wollen, &uuml;ber den <b>Verweise<\/b>-Dialog hinzu (Men&uuml;eintrag <b>Extras|Verweise<\/b>). Der Verweis hei&szlig;t <b>Microsoft OneNote x.0 Object Library <\/b>(s. Bild 4).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2017_04\/pic_1097_004.png\" alt=\"Verweis f&uuml;r den Zugriff auf OneNote\" width=\"424,7115\" height=\"334,8159\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 4: Verweis f&uuml;r den Zugriff auf OneNote<\/span><\/b><\/p>\n<h2>Liste der Notizb&uuml;cher einlesen<\/h2>\n<p>Damit kommen wir gleich zum ersten Beispiel &#8211; dem Einlesen der Liste aller Notizb&uuml;cher von OneNote. Der daf&uuml;r verwendete Code sieht wie folgt aus:<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>OneNoteNotizbuecher()\r\n     <span style=\"color:blue;\">Dim <\/span>objOneNote<span style=\"color:blue;\"> As <\/span>OneNote.Application\r\n     <span style=\"color:blue;\">Dim <\/span>strHierarchy<span style=\"color:blue;\"> As String<\/span>\r\n     <span style=\"color:blue;\">Set<\/span> objOneNote = <span style=\"color:blue;\">New<\/span> OneNote.Application\r\n     objOneNote.GetHierarchy \"\",  OneNote.HierarchyScope.hsNotebooks, strHierarchy\r\n     <span style=\"color:blue;\">Debug.Print<\/span> FormatXML(strHierarchy)\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Hier sind ein paar Erl&auml;uterungen notwendig. Wir erstellen als Erstes ein Objekt des Typs <b>OneNote.Application <\/b>und speichern es in einer Objektvariablen namens <b>objOneNote<\/b>. Dann rufen wir die Methode <b>GetHierarchy <\/b>dieses Objekts auf. Diese erwartet drei Parameter:<\/p>\n<ul>\n<li><b>bstrStartNodeID<\/b>: Gibt die ID des &uuml;bergeordneten Elements an. Wir geben eine leere Zeichenkette an, damit alle Notizb&uuml;cher geliefert werden.<\/li>\n<li><b>hsScope<\/b>: Gibt den Bereich an, der durchsucht werden soll. Wir wollen uns die Notebooks ansehen, also verwenden wir den Eintrag <b>hsNotebooks <\/b>der Auflistung <b>OneNote.HierarchyScope<\/b>.<\/li>\n<li><b>pbstrHierarchyXMLOut<\/b>: Erwartet einen <b>String<\/b>-Parameter, mit dem das Ergebnis des Aufrufs zur&uuml;ckgegeben wird.<\/li>\n<\/ul>\n<p>Das Ergebnis der Abfrage finden wir in Listing 1. Es handelt sich um ein XML-Dokument, das wir mithilfe der Funktion <b>FormatXML <\/b>in ein etwas besser lesbares Format gebracht haben (der eigentliche R&uuml;ckgabewert enth&auml;lt keine Zeilenumbr&uuml;che).<\/p>\n<pre>&lt;xml version=\"1.0\"&gt;\r\n&lt;one:Notebooks xmlns:one=\"http:\/\/schemas.microsoft.com\/office\/onenote\/2013\/onenote\"&gt;\r\n     &lt;one:Notebook name=\"Test-Notizbuch 2\" nickname=\"Test-Notizbuch 2\" ID=\"{D6DCD364-35B7-4E68-ADE6-B4033A1C3EF2}{1}{B0}\" \r\n         path=\"https:\/\/d.docs.live.net\/4cea18f6eeca8019\/Documents\/Test-Notizbuch 2\/\" \r\n         lastModifiedTime=\"2017-06-18T09:35:38.000Z\" color=\"#9595AA\" isCurrentlyViewed=\"true\"\/&gt;\r\n     &lt;one:Notebook name=\"Test-Notizbuch 1\" nickname=\"Test-Notizbuch 1\" ID=\"{68E5FF92-706E-4FD5-8218-40A4CE8D552E}{1}{B0}\"\r\n         path=\"https:\/\/d.docs.live.net\/4cea18f6eeca8019\/Documents\/Test-Notizbuch 1\/\" \r\n         lastModifiedTime=\"2017-06-8T10:16:39.000Z\" color=\"#EE9597\"\/&gt;\r\n     &lt;one:UnfiledNotes ID=\"{0B18F8FC-9EC3-4FF4-89E8-A15BBA1F7FDD}{1}{B0}\"\/&gt;\r\n&lt;\/one:Notebooks&gt;<\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 1: Auflistung der Notizb&uuml;cher im XML-Format<\/span><\/b><\/p>\n<p>Nun stellen wir fest, dass das XML-Dokument lediglich zwei Eintr&auml;ge enth&auml;lt. Dies ist f&uuml;r unseren Fall, da wir nur zwei Notizb&uuml;cher angelegt haben, erwartungsgem&auml;&szlig;, aber tats&auml;chlich liegen auf dem Entwicklungsrechner einige Notizb&uuml;cher mehr vor. Diese sind allerdings aktuell nicht geladen, was darauf hindeutet, dass nur die geladenen Notizb&uuml;cher geliefert werden. Wenn wir nun auf die Attribute der einzelnen Elemente zugreifen wollen, m&uuml;ssen wir den VBA-Code etwas erweitern, wie Listing 2 zeigt. Hier verwenden wir Elemente der noch per Verweis einzubindenden Bibliothek <b>Microsoft XML 6.0 Object Library<\/b>, um auf die Inhalte des XML-Dokuments zuzugreifen.<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>OneNoteNotizbuecherXML()\r\n     <span style=\"color:blue;\">Dim <\/span>objOneNote<span style=\"color:blue;\"> As <\/span>OneNote.Application\r\n     <span style=\"color:blue;\">Dim <\/span>strHierarchy<span style=\"color:blue;\"> As String<\/span>\r\n     <span style=\"color:blue;\">Dim <\/span>objXML<span style=\"color:blue;\"> As <\/span>MSXML2.DOMDocument60\r\n     <span style=\"color:blue;\">Dim <\/span>objElement<span style=\"color:blue;\"> As <\/span>MSXML2.IXMLDOMElement\r\n     <span style=\"color:blue;\">Dim <\/span>strNamespace<span style=\"color:blue;\"> As String<\/span>\r\n     <span style=\"color:blue;\">Set<\/span> objOneNote = <span style=\"color:blue;\">New<\/span> OneNote.Application\r\n     objOneNote.GetHierarchy \"\", OneNote.HierarchyScope.hsNotebooks, strHierarchy\r\n     <span style=\"color:blue;\">Set<\/span> objXML = <span style=\"color:blue;\">New<\/span> MSXML2.DOMDocument60\r\n     objXML.loadXML strHierarchy\r\n     strNamespace = \"xmlns:one=\"\"http:\/\/schemas.microsoft.com\/office\/onenote\/2013\/onenote\"\"\"\r\n     objXML.SetProperty \"SelectionNamespaces\", strNamespace\r\n     For Each objElement In objXML.selectNodes(\"\/\/one:Notebook\")\r\n         <span style=\"color:blue;\">With<\/span> objElement\r\n             <span style=\"color:blue;\">Debug.Print<\/span> .getAttribute(\"name\"), .getAttribute(\"ID\"), .getAttribute(\"path\"), _\r\n                 .getAttribute(\"lastModifiedTime\"), .getAttribute(\"color\"), .getAttribute(\"isCurrentlyViewed\")\r\n         End <span style=\"color:blue;\">With<\/span>\r\n     <span style=\"color:blue;\">Next<\/span> objElement\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><!--30percent--><\/p>\n<p><b><span style=\"color:darkgrey;\">Listing 2: Auflistung der Notizb&uuml;cher und Ausgabe der einzelnen Attribute<\/span><\/b><\/p>\n<p>Die Prozedur <b>OneNoteNotizbuecherXML <\/b>liest wie zuvor mit der Methode <b>GetHierarchy <\/b>das XML-Dokument mit den Notizb&uuml;chern in die Variable <b>strHierarchy <\/b>ein. Diese landet allerdings direkt &uuml;ber die Methode <b>loadXML <\/b>im Objekt <b>objXML <\/b>des Typs <b>DOMDocument60<\/b>. Hier m&uuml;ssen wir, da das komplette XML-Dokument den Namespace <b>one: <\/b>verwendet, diesen Namespace &uuml;ber die Eigenschaft <b>SelectionNamespaces <\/b>festlegen &#8211; anderenfalls k&ouml;nnen wir nicht mit der weiter unten verwendeten Methode <b>SelectNodes <\/b>auf die Elemente des XML-Dokuments zugreifen. Die Zuweisung erledigen wir mit der Methode <b>SetProperty<\/b>, der wir als erstes Argument den Namen der zu setzenden Eigenschaft, hier <b>SelectionNamespaces<\/b>, und zweitens die Definition des Namespaces &uuml;bergeben, wie sie im Kopf des XML-Dokuments angegeben ist.<\/p>\n<p>Danach k&ouml;nnen wir leicht in einer <b>For Each<\/b>-Schleife alle Elemente der Auflistung von XML-Elementen mit dem Namen <b>one:Notebook <\/b>durchlaufen. Diese ermitteln wir mit der Methode <b>selectNodes(&#8222;\/\/one:Notebook&#8220;)<\/b>, welche zuverl&auml;ssig alle Elemente mit dem Namen <b>one:Notebook <\/b>ermittelt. Innerhalb dieser Schleife geben wir dann die mit der Methode <b>getAttribut<\/b> ermittelten Eigenschaftswerte des jeweiligen Elements im Direktfenster des VBA-Editors aus. Dazu &uuml;bergeben wir einfach die einzelnen Attributnamen, wie sie auch in dem XML-Element zu finden sind:<\/p>\n<pre>&lt;one:Notebook name=\"Test-Notizbuch 2\" nickname=\"Test-Notizbuch 2\" ID=\"{D6DCD364-35B7-4E68-ADE6-B4033A1C3EF2}{1}{B0}\" path=\"https:\/\/d.docs.live.net\/4cea18f6eeca8019\/Documents\/Test-Notizbuch 2\/\" lastModifiedTime=\"2017-06-18T09:35:38.000Z\" color=\"#9595AA\" isCurrentlyViewed=\"true\"\/&gt;<\/pre>\n<p>Die Ausgabe sieht dann etwa wie in Bild 5 aus. Welche Elemente dieser Ausgabe wir sp&auml;ter noch ben&ouml;tigen, schauen wir uns gleich an.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2017_04\/pic_1097_005.png\" alt=\"Ausgabe der Eigenschaften der Notebook-Elemente\" width=\"649,559\" height=\"162,9556\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 5: Ausgabe der Eigenschaften der Notebook-Elemente<\/span><\/b><\/p>\n<h2>Abschnitte einlesen<\/h2>\n<p>Die zweite Ebene, also die Ebene unterhalb der Notizb&uuml;cher, enth&auml;lt die weiter oben beschriebenen Abschnitte. Auch diese k&ouml;nnen wir per VBA ermitteln. Dazu ben&ouml;tigen wir wiederum die Methode <b>GetHierarchy<\/b>. Diesmal &uuml;bergeben wir als zweiten Parameter allerdings den Wert <b>OneNote.HierarchyScope.hsSections<\/b> (s. Listing 3).<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>OneNoteAbschnitteXML()\r\n     <span style=\"color:blue;\">Dim <\/span>objOneNote<span style=\"color:blue;\"> As <\/span>OneNote.Application\r\n     <span style=\"color:blue;\">Dim <\/span>strSections<span style=\"color:blue;\"> As String<\/span>\r\n     <span style=\"color:blue;\">Dim <\/span>objXML<span style=\"color:blue;\"> As <\/span>MSXML2.DOMDocument60\r\n     <span style=\"color:blue;\">Dim <\/span>objNotebook<span style=\"color:blue;\"> As <\/span>MSXML2.IXMLDOMElement\r\n     <span style=\"color:blue;\">Dim <\/span>objSection<span style=\"color:blue;\"> As <\/span>MSXML2.IXMLDOMElement\r\n     <span style=\"color:blue;\">Dim <\/span>strNamespace<span style=\"color:blue;\"> As String<\/span>\r\n     <span style=\"color:blue;\">Set<\/span> objOneNote = <span style=\"color:blue;\">New<\/span> OneNote.Application\r\n     objOneNote.GetHierarchy \"\", OneNote.HierarchyScope.hsSections, strSections\r\n     <span style=\"color:blue;\">Set<\/span> objXML = <span style=\"color:blue;\">New<\/span> MSXML2.DOMDocument60\r\n     objXML.loadXML strSections\r\n     strNamespace = \"xmlns:one=\"\"http:\/\/schemas.microsoft.com\/office\/onenote\/2013\/onenote\"\"\"\r\n     objXML.SetProperty \"SelectionNamespaces\", strNamespace\r\n     <span style=\"color:blue;\">Debug.Print<\/span> FormatXML(strSections)\r\n     For Each objNotebook In objXML.selectNodes(\"\/\/one:Notebook\")\r\n         <span style=\"color:blue;\">With<\/span> objNotebook\r\n             <span style=\"color:blue;\">Debug.Print<\/span> .getAttribute(\"name\"), .getAttribute(\"ID\"), .getAttribute(\"path\"), _\r\n                 .getAttribute(\"lastModifiedTime\"), .getAttribute(\"color\"), .getAttribute(\"isCurrentlyViewed\")\r\n             For Each objSection In objNotebook.selectNodes(\"one:Section\")\r\n                 <span style=\"color:blue;\">With<\/span> objSection\r\n                     <span style=\"color:blue;\">Debug.Print<\/span> \"  \" & .getAttribute(\"name\"), .getAttribute(\"ID\"), .getAttribute(\"path\"), _\r\n                         .getAttribute(\"lastModifiedTime\"), .getAttribute(\"color\"), .getAttribute(\"isCurrentlyViewed\")\r\n                 End <span style=\"color:blue;\">With<\/span>\r\n             <span style=\"color:blue;\">Next<\/span> objSection\r\n         End <span style=\"color:blue;\">With<\/span>\r\n     <span style=\"color:blue;\">Next<\/span> objNotebook\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 3: Ermitteln von Notizb&uuml;chern und Abschnitten<\/span><\/b><\/p>\n<p>Das Ergebnis ist das XML-Dokument aus Listing 4. Wie Sie sehen, liefert die neue Anfrage nicht etwa nur die Abschnitte des Notizbuchs, sondern gleich die Struktur der Notizb&uuml;cher und der Abschnitte. Diese geben wir mit den beiden verschachtelten <b>For Each<\/b>-Schleifen in der Prozedur <b>OneNoteAbschnitteXML <\/b>im Direktfenster der VBA-Editors aus. In der inneren Schleife greifen wir dazu mit der Funktion <b>selectNodes <\/b>auf die Elemente namens <b>one:Section <\/b>des jeweils in der &uuml;bergeordneten Schleife referenzierten Elements des XML-Dokuments zu und geben seine Eigenschaften aus, die mit denen der <b>Notebook<\/b>-Elemente identisch sind.<\/p>\n<pre>&lt;xml version=\"1.0\"&gt;\r\n&lt;one:Notebooks xmlns:one=\"http:\/\/schemas.microsoft.com\/office\/onenote\/2013\/onenote\"&gt;\r\n     &lt;one:Notebook name=\"Test-Notizbuch 2\" nickname=\"Test-Notizbuch 2\" ... &gt;\r\n         &lt;one:Section name=\"Test-Abschnitt 3\" ...\"\/&gt;\r\n     &lt;\/one:Notebook&gt;\r\n     &lt;one:Notebook name=\"Test-Notizbuch 1\" nickname=\"Test-Notizbuch 1\" ...&gt;\r\n         &lt;one:Section name=\"Test-Abschnitt 1\" ... \/&gt;\r\n         &lt;one:Section name=\"Test-Abschnitt 2\" ... \/&gt;\r\n     &lt;\/one:Notebook&gt;\r\n&lt;\/one:Notebooks&gt;<\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 4: XML-Dokument mit Notizb&uuml;chern und Abschnitten<\/span><\/b><\/p>\n<h2>Notizen einlesen<\/h2>\n<p>Dementsprechend sollten wir die Notizen unterhalb der Abschnitte einlesen k&ouml;nnen, wenn wir die Methode <b>GetHierarchy <\/b>wie in der Prozedur <b>OneNoteNotizenXML <\/b>mit dem Wert <b>OneNote.HierarchyScope.hsPages<\/b> f&uuml;r den zweiten Parameter aufrufen. <\/p>\n<p>Das Ergebnis in Form des XML-Dokuments aus Listing 5 liefert zwar ein Element namens <b>Page <\/b>unterhalb der <b>Section<\/b>-Elemente. Das <b>Page<\/b>-Element enth&auml;lt aber auch f&uuml;r die Notiz, f&uuml;r die wir definitiv auch einen Notiz-Text angegeben haben, kein Attribut, das diesen Text liefert. Also m&uuml;ssen wir wohl noch ein wenig tiefer graben.<\/p>\n<pre>&lt;xml version=\"1.0\"&gt;\r\n&lt;one:Notebooks xmlns:one=\"http:\/\/schemas.microsoft.com\/office\/onenote\/2013\/onenote\"&gt;\r\n     &lt;one:Notebook name=\"Test-Notizbuch 1\" ... &gt;\r\n         &lt;one:Section name=\"Test-Abschnitt 1\" ... &gt;\r\n             &lt;one:Page ID=\"...\" name=\"Test-Notiz 1\" dateTime=\"2017-06-18T09:11:47.000Z\" \r\n                 lastModifiedTime=\"2017-06-18T14:51:56.000Z\" pageLevel=\"1\" isCurrentlyViewed=\"true\"\/&gt;\r\n             ...\r\n         &lt;\/one:Section&gt;\r\n         ...\r\n     &lt;\/one:Notebook&gt;\r\n&lt;\/one:Notebooks&gt;<\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 5: XML-Dokument mit Page-Elementen<\/span><\/b><\/p>\n<h2>Kinder von Notizen einlesen<\/h2>\n<p>Also schauen wir uns an, was geschieht, wenn wir den Wert <b>OneNote.HierarchyScope.hsChildren <\/b>als zweiten Parameter der Methode <b>GetHierarchy <\/b>&uuml;bergeben (siehe Modul <b>mdlOneNote <\/b>der Beispieldatenbank). Dies f&uuml;hrt uns nicht weiter: Es werden nur die Elemente unterhalb der ersten Ebene eingelesen, also nur das <b>Notebooks<\/b>-Element und die darin enthaltenen <b>Notebook<\/b>-Elemente:<\/p>\n<pre>&lt;xml version=\"1.0\"&gt;\r\n&lt;one:Notebooks...&gt;\r\n     &lt;one:Notebook name=\"Test-Notizbuch 2\" ...\/&gt;\r\n     &lt;one:Notebook name=\"Test-Notizbuch 1\" ...\/&gt;\r\n&lt;\/one:Notebooks&gt;<\/pre>\n<p>Wenn wir den Parameter <b>OneNote.HierarchyScope.hsSelf <\/b>verwenden, erhalten wir sogar nur noch das Root-Element selbst:<\/p>\n<pre>&lt;xml version=\"1.0\"&gt;\r\n&lt;one:Notebooks ...\/&gt;<\/pre>\n<h2>Inhalte der Notizen einlesen<\/h2>\n<p>Wie aber k&ouml;nnen wir nun auf die eigentlichen Inhalte einer Notiz zugreifen Bisher haben wir den ersten Parameter der <b>GetHierarchy<\/b>-Methode komplett ignoriert. Dieser bringt uns aber an dieser Stelle auch nicht weiter. Stattdessen sehen wir uns unter den &uuml;brigen Methoden des <b>OneNote.Application<\/b>-Objekts um und finden eine weitere Methode namens <b>GetPageContent<\/b>. Diese k&ouml;nnen wir wiederum gebrauchen, denn sie liefert den dargestellten Inhalt einer Notiz wiederum als XML-Dokument zur&uuml;ck.<\/p>\n<p>Wir erweitern also die zuletzt verwendete Prozedur in eine weitere Prozedur namens <b>OneNoteNotizinhalteXML<\/b>. Diese f&uuml;gen wir in der inneren <b>For Each<\/b>-Schleife, welche  die Elemente des Typs <b>one:Page <\/b>durchl&auml;uft, hinzu und rufen f&uuml;r das <b>OneNote.Application<\/b>-Objekt <b>objOneNote <\/b>die Methode <b>GetPageContent <\/b>auf. <\/p>\n<p>Dieser &uuml;bergeben wir den mit der Funktion <b>getAttribute <\/b>ermittelten Wert des Attributs <b>ID <\/b>des <b>Page<\/b>-Elements und eine leere String-Variable namens <b>strChild<\/b>. Diese soll den Inhalt des XML-Dokuments mit dem eigentlichen Inhalt der Notiz aufnehmen:<\/p>\n<pre>For Each objPage In objSection.selectNodes(\"one:Page\")\r\n     <span style=\"color:blue;\">With<\/span> objPage\r\n         objOneNote.GetPageContent  .getAttribute(\"ID\"), strChild\r\n         <span style=\"color:blue;\">Debug.Print<\/span> FormatXML(strChild)\r\n     End <span style=\"color:blue;\">With<\/span>\r\n<span style=\"color:blue;\">Next<\/span> objPage<\/pre>\n<p>Das Ergebnis sieht wie in Listing 6 aus und scheint eine ganze Menge Arbeit zu liefern. Wenn man es sich genauer ansieht und die f&uuml;r die Formatierung der Notiz verwendeten Elemente ausl&auml;sst, bleiben nur noch wenige Elemente &uuml;brig &#8211; n&auml;mlich jene, die in <b><![CDATA...]><\/b>-Konstrukte eingeschlossen sind und etwa wie folgt aussehen:<\/p>\n<pre>&lt;xml version=\"1.0\"&gt;\r\n&lt;one:Page name=\"Test-Notiz 1\" .... pageLevel=\"1\" ...&gt;\r\n     &lt;one:QuickStyleDef index=\"0\" name=\"PageTitle\" ...\/&gt;\r\n     &lt;one:QuickStyleDef index=\"1\" name=\"p\" ...\/&gt;\r\n     &lt;one:PageSettings RTL=\"false\" color=\"automatic\"&gt;\r\n         &lt;one:PageSize&gt;\r\n             &lt;one:Automatic\/&gt;\r\n         &lt;\/one:PageSize&gt;\r\n         &lt;one:RuleLines visible=\"false\"\/&gt;\r\n     &lt;\/one:PageSettings&gt;\r\n     &lt;one:Title lang=\"de\"&gt;\r\n         &lt;one:OE author=\"Andr&eacute; Minhorst\" ...&gt;\r\n             &lt;one:T&gt;\r\n                 &lt;![CDATA[Test-Notiz 1]]&gt;\r\n             &lt;\/one:T&gt;\r\n         &lt;\/one:OE&gt;\r\n     &lt;\/one:Title&gt;\r\n     &lt;one:Outline author=\"Andr&eacute; Minhorst\" ...&gt;\r\n         &lt;one:Position x=\"36.0\" y=\"86.4000015258789\" z=\"0\"\/&gt;\r\n         &lt;one:Size width=\"144.4595184326172\" height=\"13.42771339416504\"\/&gt;\r\n         &lt;one:Indents&gt;\r\n             &lt;one:Indent level=\"0\" indent=\"4.94560573569481E-29\"\/&gt;\r\n         &lt;\/one:Indents&gt;\r\n         &lt;one:OEChildren&gt;\r\n             &lt;one:OE ...&gt;\r\n                 &lt;one:T&gt;\r\n                     &lt;![CDATA[Dies ist eine Test-Notiz.]]&gt;\r\n                 &lt;\/one:T&gt;\r\n             &lt;\/one:OE&gt;\r\n         &lt;\/one:OEChildren&gt;\r\n     &lt;\/one:Outline&gt;\r\n&lt;\/one:Page&gt;<\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 6: Eigentlicher Inhalt einer Notiz<\/span><\/b><\/p>\n<pre>&lt;![CDATA[Dies ist eine Test-Notiz.]]&gt;<\/pre>\n<p>Diese k&ouml;nnen wir wiederum &uuml;ber die Methoden der Bibliothek <b>Microsoft XML, v6.0 <\/b>erfassen.<\/p>\n<h2>Bilder und Dokumente in Notizen<\/h2>\n<p>Was aber ist mit Bildern oder PDF-Dokumenten, die in einer Notiz eingebettet sind Dabei wollen wir drei verschiedene F&auml;lle untersuchen:<\/p>\n<ul>\n<li>Bilder, die in einer Notiz eingebettet sind (diese werden immer eingebettet)<\/li>\n<li>Dateien, die als Datei eingebettet sind (beispielsweise eine PDF-Datei, &uuml;ber die Option <b>Datei anf&uuml;gen<\/b>)<\/li>\n<li>PDF-Datei, die direkt in die Notiz eingef&uuml;gt ist (&uuml;ber die Option <b>Ausdruck einf&uuml;gen<\/b>) und als PDF-Icon angezeigt werden<\/li>\n<\/ul>\n<p>Die Informationen zur Datei befinden sich wieder im <b>one:Outline<\/b>-Element, und zwar unterhalb von <b>one:OEChildren<\/b>. Hier finden Sie ein <b>one:InsertedFile-Element<\/b>, das wiederum den Pfad zu der referenzierten Datei enth&auml;lt.<\/p>\n<p>Das Beispiel aus der Abbildung, wo wir die PDF-Datei als Ausdruck mit eingef&uuml;gt haben, enth&auml;lt im <b>one:InsertedFile<\/b>-Element sowohl den Pfad zur Originaldatei als auch noch weitere Elemente wie zum Beispiel <b>one:Position<\/b>, <b>one:Size <\/b>und <b>one:Printout<\/b>, die festlegen, wie die Datei innerhalb der Notiz angezeigt werden soll. Dahinter folgen dann noch der komplette Text (vermutlich als Grundlage f&uuml;r die Volltextsuche) sowie einige Elemente namens <b>one:OCRToken<\/b>.<\/p>\n<h2>Daten einlesen<\/h2>\n<p>Wenn wir nun die Daten aus OneNote in eine Access-Datenbank einlesen wollen, ben&ouml;tigen wir eine entsprechende Tabellenstruktur. Da wir aber noch nicht wissen, wie und wozu wir die Daten aus OneNote in einer Access-Datenbank speichern wollen (und ob das &uuml;berhaupt eine Option ist &#8211; vielleicht wollen wir diese Daten ja auch einfach weiterverarbeiten), werden wir nur die entscheidenden Elemente herausarbeiten.<\/p>\n<p>Die k&ouml;nnen wir dann immer noch in eine Tabelle schreiben, per Mail verschicken, in eine Excel-Tabelle packen oder an ein Word-Dokument anh&auml;ngen &#8211; die Techniken sind ja in anderen Beitr&auml;gen zur Gen&uuml;ge beschrieben.<\/p>\n<p>Die Hauptarbeit dabei &uuml;bernimmt die Prozedur aus Listing 7. Die Prozedur durchl&auml;uft wie die vorherigen Beispiele alle Notizb&uuml;cher und Abschnitte. Darunter befinden sich im XML-Dokument die Elemente des Typs <b>Page <\/b>mit den einzelnen Notizen.<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>OneNoteNotizinhalteXML()\r\n     ''''...Deklaration...\r\n     <span style=\"color:blue;\">Set<\/span> objOneNote = <span style=\"color:blue;\">New<\/span> OneNote.Application\r\n     objOneNote.GetHierarchy \"\", OneNote.HierarchyScope.hsPages, strSections\r\n     <span style=\"color:blue;\">Set<\/span> objXML = <span style=\"color:blue;\">New<\/span> MSXML2.DOMDocument60\r\n     objXML.loadXML strSections\r\n     strNamespace = \"xmlns:one=\"\"http:\/\/schemas.microsoft.com\/office\/onenote\/2013\/onenote\"\"\"\r\n     objXML.SetProperty \"SelectionNamespaces\", strNamespace\r\n     For Each objNotebook In objXML.selectNodes(\"\/\/one:Notebook\")\r\n         <span style=\"color:blue;\">With<\/span> objNotebook\r\n             <span style=\"color:blue;\">Debug.Print<\/span> \"Notebook: \" & objNotebook.getAttribute(\"name\")\r\n             For Each objSection In objNotebook.selectNodes(\"one:Section\")\r\n                 <span style=\"color:blue;\">Debug.Print<\/span> \"  Section: \" & .getAttribute(\"name\")\r\n                 <span style=\"color:blue;\">With<\/span> objSection\r\n                     For Each objPage In objSection.selectNodes(\"one:Page\")\r\n                         <span style=\"color:blue;\">With<\/span> objPage\r\n                             objOneNote.GetPageContent .getAttribute(\"ID\"), strChild\r\n                             <span style=\"color:blue;\">Set<\/span> objNote = <span style=\"color:blue;\">New<\/span> MSXML2.DOMDocument60\r\n                             objNote.SetProperty \"SelectionNamespaces\", strNamespace\r\n                             objNote.loadXML strChild\r\n                             strTitel = TitelErmitteln(objNote)\r\n                             <span style=\"color:blue;\">Debug.Print<\/span> \"    Titel: \" & strTitel\r\n                             For Each objOutline In objNote.selectNodes(\"one:Page\/one:Outline\/one:OEChildren\/one:OE\")\r\n                                 <span style=\"color:blue;\">Set<\/span> objContent = objOutline.childNodes(0)\r\n                                 Select Case objContent.baseName\r\n                                     <span style=\"color:blue;\">Case <\/span>\"T\"\r\n                                         <span style=\"color:blue;\">Debug.Print<\/span> \"      Text: \" & objContent.nodeTypedValue\r\n                                     <span style=\"color:blue;\">Case <\/span>\"Image\"\r\n                                         <span style=\"color:blue;\">Debug.Print<\/span> \"      Image: \" & objContent.nodeTypedValue\r\n                                     <span style=\"color:blue;\">Case <\/span>\"InsertedFile\"\r\n                                         <span style=\"color:blue;\">Debug.Print<\/span> objContent.Attributes.getNamedItem(\"pathSource\").nodeTypedValue\r\n                                     <span style=\"color:blue;\">Case Else<\/span>\r\n                                         <span style=\"color:blue;\">Debug.Print<\/span> \"!!! \" & objContent.baseName\r\n                                 <span style=\"color:blue;\">End Select<\/span>\r\n                             <span style=\"color:blue;\">Next<\/span> objOutline\r\n                         End <span style=\"color:blue;\">With<\/span>\r\n                     <span style=\"color:blue;\">Next<\/span> objPage\r\n                 End <span style=\"color:blue;\">With<\/span>\r\n             <span style=\"color:blue;\">Next<\/span> objSection\r\n         End <span style=\"color:blue;\">With<\/span>\r\n     <span style=\"color:blue;\">Next<\/span> objNotebook\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 7: Ausgeben von Notebook, Section, Titel und Text, Bild oder angeh&auml;ngter Datei<\/span><\/b><\/p>\n<p>Auch diese durchl&auml;uft die Prozedur in einer <b>For Each<\/b>-Schleife. Jedes <b>Page<\/b>-Element hat eine <b>ID<\/b>, &uuml;ber die wir mit dem OneNote-Befehl <b>GetPageContent <\/b>ein weiteres XML-Dokument mit dem Seiteninhalt ermitteln k&ouml;nnen. Diesen speichern wir in einem neuen <b>DOMDocument60<\/b>-Objekt. Die kleine Hilfsfunktion <b>TitelErmitteln <\/b>hilft uns, den Titel der Notiz &uuml;ber den <b>XPath<\/b>-Suchausdruck <b>\/\/one:Title\/one:OE\/one:T <\/b>zu ermitteln. In der gleichen Ebene wie das <b>Title<\/b>-Element befindet sich das Outline-Element, dessen Elemente wir &uuml;ber den XPath-Ausdruck <b>one:Page\/one:Outline\/one:OEChildren\/one:OE <\/b>in einer <b>For Each<\/b>-Schleife durchlaufen und mit den Mitteln der XML-Bibliothek auslesen und im Direktfenster ausgeben.<\/p>\n<h2>Zusammenfassung und Ausblick<\/h2>\n<p>Dieser Beitrag hat gezeigt, wie Sie mit VBA auf die Elemente der Office-Anwendung OneNote zugreifen k&ouml;nnen. In einem weiteren Artikel bohren wir den VBA-Zugriff weiter auf und zeigen auch, wie Sie OneNote mit Elementen aus einer Datenbank f&uuml;llen k&ouml;nnen.<\/p>\n<h3>Downloads zu diesem Beitrag<\/h3>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>OneNote.accdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/A9BEEB7B-812E-4C13-92EE-73C586AD26CE\/aiu_1097.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vor ein paar Ausgaben haben wir uns den Zugriff auf das Notizprogramm Evernote von Access aus angesehen. Leider bietet dieses popul&auml;re Programm keine echte VBA-Schnittstelle. Das ist beim Pendant des Herstellers Microsoft nat&uuml;rlich anders: Hier gibt es eine Objektbibliothek, die Sie in ein VBA-Projekt einbinden und mit dem Sie auf die in OneNote gespeicherten Daten zugreifen k&ouml;nnen. Im vorliegenden Beitrag schauen wir uns an, wie Sie per VBA auf die in OneNote gespeicherten Informtionen zugreifen k&ouml;nnen.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[662017,66042017,44000026],"tags":[],"class_list":["post-55001097","post","type-post","status-publish","format-standard","hentry","category-662017","category-66042017","category-Interaktiv"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>OneNote 2016 und Access - Access im Unternehmen<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-im-unternehmen.de\/OneNote_2016_und_Access\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"OneNote 2016 und Access\" \/>\n<meta property=\"og:description\" content=\"Vor ein paar Ausgaben haben wir uns den Zugriff auf das Notizprogramm Evernote von Access aus angesehen. Leider bietet dieses popul&auml;re Programm keine echte VBA-Schnittstelle. Das ist beim Pendant des Herstellers Microsoft nat&uuml;rlich anders: Hier gibt es eine Objektbibliothek, die Sie in ein VBA-Projekt einbinden und mit dem Sie auf die in OneNote gespeicherten Daten zugreifen k&ouml;nnen. Im vorliegenden Beitrag schauen wir uns an, wie Sie per VBA auf die in OneNote gespeicherten Informtionen zugreifen k&ouml;nnen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/OneNote_2016_und_Access\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-13T21:26:31+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg09.met.vgwort.de\/na\/54a7c1d71686416f8bfb5673a08261f0\" \/>\n<meta name=\"author\" content=\"Andr\u00e9 Minhorst\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andr\u00e9 Minhorst\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"17\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/OneNote_2016_und_Access\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/OneNote_2016_und_Access\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"OneNote 2016 und Access\",\"datePublished\":\"2020-05-13T21:26:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/OneNote_2016_und_Access\\\/\"},\"wordCount\":2501,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/OneNote_2016_und_Access\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg09.met.vgwort.de\\\/na\\\/54a7c1d71686416f8bfb5673a08261f0\",\"articleSection\":[\"2017\",\"4\\\/2017\",\"Interaktiv\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/OneNote_2016_und_Access\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/OneNote_2016_und_Access\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/OneNote_2016_und_Access\\\/\",\"name\":\"OneNote 2016 und Access - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/OneNote_2016_und_Access\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/OneNote_2016_und_Access\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg09.met.vgwort.de\\\/na\\\/54a7c1d71686416f8bfb5673a08261f0\",\"datePublished\":\"2020-05-13T21:26:31+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/OneNote_2016_und_Access\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/OneNote_2016_und_Access\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/OneNote_2016_und_Access\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg09.met.vgwort.de\\\/na\\\/54a7c1d71686416f8bfb5673a08261f0\",\"contentUrl\":\"http:\\\/\\\/vg09.met.vgwort.de\\\/na\\\/54a7c1d71686416f8bfb5673a08261f0\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/OneNote_2016_und_Access\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"OneNote 2016 und Access\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"name\":\"Access im Unternehmen\",\"description\":\"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access\",\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\",\"name\":\"Andr\u00e9 Minhorst Verlag\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"contentUrl\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"width\":370,\"height\":111,\"caption\":\"Andr\u00e9 Minhorst Verlag\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"OneNote 2016 und Access - Access im Unternehmen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/access-im-unternehmen.de\/OneNote_2016_und_Access\/","og_locale":"de_DE","og_type":"article","og_title":"OneNote 2016 und Access","og_description":"Vor ein paar Ausgaben haben wir uns den Zugriff auf das Notizprogramm Evernote von Access aus angesehen. Leider bietet dieses popul&auml;re Programm keine echte VBA-Schnittstelle. Das ist beim Pendant des Herstellers Microsoft nat&uuml;rlich anders: Hier gibt es eine Objektbibliothek, die Sie in ein VBA-Projekt einbinden und mit dem Sie auf die in OneNote gespeicherten Daten zugreifen k&ouml;nnen. Im vorliegenden Beitrag schauen wir uns an, wie Sie per VBA auf die in OneNote gespeicherten Informtionen zugreifen k&ouml;nnen.","og_url":"https:\/\/access-im-unternehmen.de\/OneNote_2016_und_Access\/","og_site_name":"Access im Unternehmen","article_published_time":"2020-05-13T21:26:31+00:00","og_image":[{"url":"http:\/\/vg09.met.vgwort.de\/na\/54a7c1d71686416f8bfb5673a08261f0","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"17\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/OneNote_2016_und_Access\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/OneNote_2016_und_Access\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"OneNote 2016 und Access","datePublished":"2020-05-13T21:26:31+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/OneNote_2016_und_Access\/"},"wordCount":2501,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/OneNote_2016_und_Access\/#primaryimage"},"thumbnailUrl":"http:\/\/vg09.met.vgwort.de\/na\/54a7c1d71686416f8bfb5673a08261f0","articleSection":["2017","4\/2017","Interaktiv"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/OneNote_2016_und_Access\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/OneNote_2016_und_Access\/","url":"https:\/\/access-im-unternehmen.de\/OneNote_2016_und_Access\/","name":"OneNote 2016 und Access - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/OneNote_2016_und_Access\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/OneNote_2016_und_Access\/#primaryimage"},"thumbnailUrl":"http:\/\/vg09.met.vgwort.de\/na\/54a7c1d71686416f8bfb5673a08261f0","datePublished":"2020-05-13T21:26:31+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/OneNote_2016_und_Access\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/OneNote_2016_und_Access\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/OneNote_2016_und_Access\/#primaryimage","url":"http:\/\/vg09.met.vgwort.de\/na\/54a7c1d71686416f8bfb5673a08261f0","contentUrl":"http:\/\/vg09.met.vgwort.de\/na\/54a7c1d71686416f8bfb5673a08261f0"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/OneNote_2016_und_Access\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"OneNote 2016 und Access"}]},{"@type":"WebSite","@id":"https:\/\/access-im-unternehmen.de\/#website","url":"https:\/\/access-im-unternehmen.de\/","name":"Access im Unternehmen","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access","publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/access-im-unternehmen.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/access-im-unternehmen.de\/#organization","name":"Andr\u00e9 Minhorst Verlag","url":"https:\/\/access-im-unternehmen.de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/","url":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","contentUrl":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","width":370,"height":111,"caption":"Andr\u00e9 Minhorst Verlag"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","caption":"Andr\u00e9 Minhorst"}}]}},"_links":{"self":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55001097","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/comments?post=55001097"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55001097\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55001097"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55001097"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55001097"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}