使用VBA与OneNote2010创建与编辑页面
"本资源是关于Office 2010中的OneNote应用程序的VBA (Visual Basic for Applications)编程示例。它展示了如何使用VBA来操作OneNote,特别是通过`OneNote.CreateOneNotePage`方法创建新的页面,并利用`GetHierarchy`、`GetPageContent`和`UpdatePageContent`方法获取和更新页面内容。这个示例适用于Excel 2010、PowerPoint 2010或Word 2010等VBA支持的主机应用。在VBA项目中,需要添加对Microsoft OneNote 14.0 Object Library和Microsoft XML, v6.0的引用。" 在VBA编程环境中,要实现与OneNote 2010的交互,首先需要设置一个指向OneNote对象模型的引用。代码中定义了一个名为`oneNote`的变量,类型为`OneNote14.Application`,并用`New`关键字创建一个新的实例。这使得VBA能够连接到正在运行的OneNote实例,如果OneNote没有启动,此操作会启动它。 `GetHierarchy`方法用于获取OneNote笔记本的层次结构信息,包括元数据和数据。这些信息通常以XML的形式返回,可以用于查找特定的笔记本和分区。在示例中,这个方法可能被用来定位第一个笔记本的第一个分区,以便在其中创建新页面。 `GetPageContent`方法用于获取页面的当前内容,包括文本、图像和其他嵌入对象。这可以用于读取页面信息或进行内容分析。 `UpdatePageContent`方法则用于更新页面的内容。在示例代码的`CreateNewPage`子程序中,这个方法被用来创建一个新的页面,并设置其标题为"APageCreatedfromVBA",页面内容设置为"TextaddedtoanewOneNotepageviaVBA."。这里,代码利用了MSXML库解析返回的XML,找到合适的分区创建新页面,并设置页面内容。 VBA程序员可以通过这样的示例学习如何在自动化流程中整合OneNote的功能,例如自动化笔记创建、内容更新和信息提取。这对于那些需要与OneNote进行深度集成的办公自动化解决方案非常有用。在实际应用中,可以根据需要修改和扩展这些基础代码,以适应更复杂的需求,如批量处理、内容检索、信息整理等。
' OneNote 2010
' Demonstrates the GetHierarchy, GetPageContent, and UpdatePageContent methods.
' Use any VBA host including Excel 2010, PowerPoint 2010,
' or Word 2010.
' OneNote 2010 is not a VBA host.
' In your VBA host, add references to the following
' external libraries using the Add References dialog:
' Microsoft OneNote 14.0 Object Library
' Microsoft XML, v6.0
' OneNote's GetHierarchy method allows you
' to get meta-data and data about the OneNote
' Notebooks.
' Paste all this code into a module,
' place the cursor within the CreateNewPage procedure,
' and press F5.
'
' The CreateNewPage procedure uses
' the MSXML library to parse the returned XML
' from OneNote.
' After finding the first Section of the first Notebook,
' the code creates a new page and sets its title to
' "A Page Created from VBA". The code sets
' the new Page's content to
Sub CreateNewPage()
' Connect to OneNote 2010.
' OneNote will be started if it's not running
' However, to see the results of the code,
' you'll want to ensure the OneNote 2010 user
' interface is visible.
Dim oneNote As OneNote14.Application
Set oneNote = New OneNote14.Application
' Get all of the Notebook nodes.
Dim nodes As MSXML2.IXMLDOMNodeList
Set nodes = GetFirstOneNoteNotebookNodes(oneNote)
If Not nodes Is Nothing Then
' Get the first OneNote Notebook in the XML document.
Dim node As MSXML2.IXMLDOMNode
Set node = nodes(0)
Dim noteBookName As String
noteBookName = node.Attributes.getNamedItem("name").Text
' Get the ID for the Notebook so the code can retrieve
' the list of sections.
Dim notebookID As String
notebookID = node.Attributes.getNamedItem("ID").Text
' Load the XML for the Sections for the Notebook requested.
Dim sectionsXml As String
oneNote.GetHierarchy notebookID, hsSections, sectionsXml, xs2010
剩余6页未读,继续阅读
- 粉丝: 3
- 资源: 9
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 计算机二级Python真题解析与练习资料
- 无需安装即可运行的Windows版XMind 8
- 利用gif4j工具包实现GIF图片的高效裁剪与压缩
- VFH描述子在点云聚类识别中的应用案例
- SQL解释器项目资源,助力计算机专业毕业设计与课程作业
- Java实现Windows本机IP定时上报到服务器
- Windows Research Kernel源码构建指南及工具下载
- 自定义Python插件增强Sublime文本编辑器功能
- 自定义Android屏幕尺寸显示及Ydpi计算工具
- Scratch游戏编程源码合集:雷电战机与猫鼠大战
- ***网上教材管理系统设计与实现详解
- Windows环境下VSCode及Python安装与配置教程
- MinGW-64bit编译opencv库适配Qt5.14
- JavaScript API 中文离线版手册(CHM格式)
- *** 8 MVC应用多语言资源管理技巧
- 互联网+培训资料深度解析与案例分析