2024年11月12日 星期二

InsertPDFToOneNote

可以的!您可以使用 VBA 結合 OneNote API 來將 PDF 檔案插入到 OneNote 頁面中。這裡是一個範例,展示如何使用 VBA 來達成這個目的:


確保在 VBA 編輯器中引用了 OneNote 14.0 Object Library(步驟前面有提到)。


使用以下程式碼來插入 PDF 檔案:

Sub InsertPDFToOneNote()

    Dim oneNoteApp As Object

    Dim notebook As Object

    Dim section As Object

    Dim page As Object

    Dim pageID As String

    Dim filePath As String

    Dim xml As String

    Dim doc As Object

    Dim ns As Object

    Dim node As Object

    

    ' 創建 OneNote 應用程序對象

    Set oneNoteApp = CreateObject("OneNote.Application")

    

    ' 設置文件路徑

    filePath = "C:\YourPDFPath\YourFile.pdf"

    

    ' 獲取筆記本

    Set notebook = oneNoteApp.Notebooks("YourNotebookName")

    

    ' 獲取分區

    Set section = notebook.Sections("YourSectionName")

    

    ' 獲取頁面

    pageID = section.Pages("YourPageName").ID

    

    ' 獲取頁面內容的 XML

    oneNoteApp.GetPageContent pageID, xml, 2

    

    ' 創建 XML 文件對象

    Set doc = CreateObject("MSXML2.DOMDocument")

    doc.LoadXML xml

    Set ns = doc.DocumentElement.SelectSingleNode("//xmlns:Outline")

    

    ' 創建新的資料節點

    Set node = doc.createElement("OE")

    node.Text = "PDF File Inserted Here"

    

    ' 插入資料節點

    ns.appendChild node

    

    ' 更新頁面內容

    oneNoteApp.UpdatePageContent doc.xml

    

    ' 插入 PDF 檔案

    oneNoteApp.Publish pageID, filePath, 1, ""

    

    MsgBox "PDF 插入成功!"

End Sub

這段程式碼會將指定的 PDF 檔案插入到特定的 OneNote 頁面中。您需要替換 "YourNotebookName"、"YourSectionName" 和 "YourPageName" 為實際值,並設置正確的 PDF 檔案路徑 "C:\YourPDFPath\YourFile.pdf"。

試試這個方法,看看是否符合您的需求。如果還有其他問題或需要進一步的幫助,隨時告訴我! 😊

此外,請注意,您可能需要根據您的 OneNote 版本進行一些調整。MSXML2 庫需要正確引用才能正常工作。

沒有留言:

張貼留言

指數變化(2024.12.20)

 指數變化(2024.12.20) 上周焦點:      FED 利率 降0.25 本周愛看:      美國消費者信心指數 12/23      日本失業率 12/27 本周指數變化: 趨勢: