Avatar billede ingeman Mester
24. april 2025 - 12:37 Der er 1 kommentar og
3 løsninger

VBA - Excel programering til Onenote

Jeg mangler kode der tilføjer den øverste linie - Overskrift til notaen
men kode i Excel / VBA i Microsoft Onenote

Koden nedenfor virker - men når jeg tilføjer en Title eller hvad der skal til

melder den Automation Error

Er der nogen der har et stykke testet kode ?

  ' Find the Section ID
    sectionID = GetOneNoteSectionID(notebookXml, "Skabelon")
   
   
   
    ' Create a new page in that section
    objOneNote.CreateNewPage sectionID, newPageID, npsDefault
   
    Dim xmlPageContent As String
    objOneNote.GetPageContent newPageID, xmlPageContent, oneNote.XmlSchema.xs2013
 

    ' Modify xmlPageContent here...

    ' === Example: Insert a new Outline element with text ===
    Dim InsertText As String

    InsertText = "<one:Outline>" & _
                "  <one:OEChildren>" & _
                "  <one:OE>" & _
                "      <one:T style='font-family:Verdana;font-size:10.0pt;font-weight:bold;" & _
                "            background-color:#ddd;padding:5px;'>" & _
                "            <![CDATA[Hello, this is is a test created by VBA!]]>" & _
                "      </one:T>" & _
                "    </one:OE>" & _
                "  </one:OEChildren>" & _
                "</one:Outline>"

    xmlPageContent = Replace(xmlPageContent, "</one:Page>", InsertText & "</one:Page>")
   

    objOneNote.UpdatePageContent xmlPageContent
Avatar billede Peter Professor
25. april 2025 - 09:24 #1
Avatar billede ingeman Mester
25. april 2025 - 10:03 #2
Ja - men som jeg ser når jeg ligger xml filen ned på disk og åbner den fremgår at Title er der 2 gange - det må være fejlen - så istedet for må det gå ud på at finde Title og så tilføje text istedet - den er tom pt.
Avatar billede Peter Professor
25. april 2025 - 10:18 #3
Prøv, som jeg lige har gjort her, at lægge det du lige har skrevet til mig, ind som fortsættelse i AI
https://grok.com/share/bGVnYWN5_9051f26f-d3c1-4565-af1b-854e72012ff8
Du skal scrolle ned til der hvor jeg har lagt dit nye spørgsmål ind 😉
Avatar billede ingeman Mester
25. april 2025 - 10:23 #4
Jeg fandt den på grok.com - den klarer det korrekt

Sub ChangeOneNotePageTitle()
    ' Declare variables
    Dim oneNote As oneNote.Application
    Dim sXML As String
    Dim xDoc As MSXML2.DOMDocument60
    Dim nodes As MSXML2.IXMLDOMNodeList
    Dim node As MSXML2.IXMLDOMNode
    Dim pageID As String
    Dim pageContent As String
    Dim pageXml As MSXML2.DOMDocument60
    Dim CDATAParent As MSXML2.IXMLDOMNode
    Dim oldDataNode As MSXML2.IXMLDOMNode
    Dim newNameNode As MSXML2.IXMLDOMCDATASection
    Dim newTitle As String
    Dim notebookName As String
    Dim sectionName As String
    Dim pageName As String
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Stort udvalg af Excel kurser til alle niveauer og jobfunktioner

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester