VB.net读取Word文档属性的方法

下面是VB.net读取Word文档属性的方法的完整攻略:

一、需求背景

在处理Word文档时,我们可能会需要读取文档的一些属性,比如文档名称、创建时间、最后修改时间等信息。那么,如何在VB.net中获取这些属性呢?接下来,我们将一步一步展开详细讲解。

二、获取Word文档属性的方法

在VB.net中,获取Word文档属性有多种方法,这里我们介绍其中两种:

1.使用Microsoft.Office.Interop.Word对象模型

使用Microsoft.Office.Interop.Word对象模型可以方便地获取Word文档的属性,具体步骤如下:

(1)添加引用

首先,需要在项目中添加对Microsoft.Office.Interop.Word对象模型的引用。

(2)创建Word Document对象

通过下面的代码创建Word Document对象:

Dim wordApp As New Microsoft.Office.Interop.Word.Application
Dim wordDoc As Microsoft.Office.Interop.Word.Document = wordApp.Documents.Open(docPath)

其中,docPath为要读取属性的Word文档文件路径。

(3)获取Word文档属性

通过下面的代码可以获取Word文档各种属性:

Dim props As Microsoft.Office.Core.DocumentProperties = wordDoc.BuiltInDocumentProperties

'文档标题
Dim title As String = props.Item("Title").Value.ToString()

'文档创建时间
Dim createTime As String = props.Item("Creation Date").Value.ToString()

'文档最后修改时间
Dim lastModifyTime As String = props.Item("Last Save Time").Value.ToString()

'其他属性同理

2.使用DocumentFormat.OpenXml对象模型

使用DocumentFormat.OpenXml对象模型同样可以方便地获取Word文档的属性,具体步骤如下:

(1)添加引用

同样需要向项目中添加DocumentFormat.OpenXml的引用。

(2)创建Word Document对象

通过下面的代码创建Word Document对象:

Dim doc As New DocumentFormat.OpenXml.Packaging.WordprocessingDocument(docPath, True)

其中,docPath为要读取属性的Word文档文件路径。

(3)获取Word文档属性

通过下面的代码可以获取Word文档的属性:

'获取文档标题
Dim title As String = doc.CoreFilePropertiesPart.GetXDocument().Descendants(DC.title).FirstOrDefault().Value

'获取文档创建时间
Dim createTime As String = doc.PackageProperties.Created.ToString()

'获取文档最后修改时间
Dim lastModifyTime As String = doc.PackageProperties.Modified.ToString()

'其他属性同理

三、示例说明

下面给出两个示例,以此来更好地理解以上方法:

示例一

假设我们需要从Word文档中获取标题、创建时间和最后修改时间,并将其分别输出到文件中,代码如下:

Dim docPath As String = "D:\test.docx" 'Word文档路径
Dim outputPath As String = "D:\output.txt" '输出路径

'使用Microsoft.Office.Interop.Word对象模型获取属性值
Dim wordApp As New Microsoft.Office.Interop.Word.Application
Dim wordDoc As Microsoft.Office.Interop.Word.Document = wordApp.Documents.Open(docPath)

Dim props As Microsoft.Office.Core.DocumentProperties = wordDoc.BuiltInDocumentProperties

'获取标题、创建时间、最后修改时间
Dim title As String = props.Item("Title").Value.ToString()
Dim createTime As String = props.Item("Creation Date").Value.ToString()
Dim lastModifyTime As String = props.Item("Last Save Time").Value.ToString()

'将属性值输出到文件中
Using writer As New StreamWriter(outputPath)
    writer.WriteLine("标题:" + title)
    writer.WriteLine("创建时间:" + createTime)
    writer.WriteLine("最后修改时间:" + lastModifyTime)
End Using

示例二

假设我们需要获取Word文档中的标题,并将其作为新文件的文件名,代码如下:

Dim docPath As String = "D:\test.docx" 'Word文档路径
Dim savePath As String = "D:\" '新文件的存储路径

'使用DocumentFormat.OpenXml对象模型获取属性值
Dim doc As New DocumentFormat.OpenXml.Packaging.WordprocessingDocument(docPath, True)

'获取标题
Dim title As String = doc.CoreFilePropertiesPart.GetXDocument().Descendants(DC.title).FirstOrDefault().Value

'保存新文件
doc.PackageProperties.Title = title '将文档标题设置为新文件名
doc.SaveAs(Path.Combine(savePath, title + ".docx")) '保存文件
doc.Close() '关闭文件

结束语

以上就是获取Word文档属性的VB.net攻略,希望对大家有所帮助!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:VB.net读取Word文档属性的方法 - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • Entity Framework Core相关包的概念介绍与安装

    下面详细给您介绍一下”Entity Framework Core相关包的概念介绍与安装”的完整攻略。 什么是Entity Framework Core? Entity Framework Core是一个全新的对象关系映射框架,支持.NET Core平台,使用C#语言实现。它能够使开发人员通过操作对象来进行数据库操作,而不是直接使用SQL命令。它具有灵活性和可…

    C# 2023年5月31日
    00
  • Java中Switch用法代码示例

    理解和掌握Java中的switch语句是我们编写程序时的必修课程之一。在本文中,我将详细讲解Java中switch语句的用法和注意事项,包括语法、代码示例和执行流程。 switch语句的语法 Java中的switch语句,用于根据表达式的值,从多个选项中选择一个执行。其语法结构如下: switch(expression) { case value1: //执…

    C# 2023年5月15日
    00
  • Log4Net 日志配置[附带源码下载]

    以下是关于Log4Net 日志配置的完整攻略。 Log4Net 简介 Log4Net 是由 Apache 创建并维护的一个基于 .Net 平台的开源日志框架,支持多种输出目标、日志格式和日志级别,可以帮助开发者更加便捷地管理应用程序的日志。 Log4Net 的配置 配置文件 首先需要在项目中引入 Log4Net 的相关库文件。然后,在项目的配置文件(如 ap…

    C# 2023年5月31日
    00
  • c#设计模式之单例模式的实现方式

    C#设计模式之单例模式的实现方式 什么是单例模式 单例模式是设计模式的一种,它保证在整个应用程序生命周期中只能有一个实例被创建和访问,并且这个实例是全局唯一的。在需要频繁创建和销毁对象时,单例模式可以提高程序的性能和可维护性。 单例模式的实现方式 在 C# 中,单例模式有多种实现方式,如下: 第一种:懒汉式单例模式 使用懒汉式单例模式,在第一次调用 GetI…

    C# 2023年6月6日
    00
  • C#数组中List, Dictionary的相互转换问题

    C#数组中List, Dictionary的相互转换是常见的问题,下面是一些详细的解答。 将List转换为数组 如果你有一个List对象想要转换成数组,可以使用List类的ToArray()方法。示例代码如下: List<int> list = new List<int> { 1, 2, 3 }; int[] array = list…

    C# 2023年6月1日
    00
  • SQL Server LocalDB 在 ASP.NET中的应用介绍

    SQL Server LocalDB是一种轻量级版本的SQL Server数据库引擎,它可以在本地计算机上运行,不需要安装完整的SQL Server数据库引擎。在ASP.NET应用程序中,可以使用SQL Server LocalDB来存储和管理数据。本文将介绍如何在ASP.NET中使用SQL Server LocalDB,包括创建数据库、创建表、插入数据、查…

    C# 2023年5月15日
    00
  • 在asp.net网页中显示数学符号的代码

    在ASP.NET网页中显示数学符号需要使用数学符号字体库或者LaTeX语法进行处理。下面我来分别介绍这两种方法的使用。 使用数学符号字体库 步骤一:下载数学符号字体库 在网上搜索下载数学符号字体库,比如说“MathJax”等,将下载得到的.zip文件解压缩得到字体库文件夹。 步骤二:引入字体库文件 将第一步得到的字体库文件夹拷贝到您的ASP.NET网站根目录…

    C# 2023年5月31日
    00
  • C#窗体通讯录系统的示例代码

    C#窗体通讯录系统是一个比较常见的小型应用程序,包含联系人的添加、删除、修改和查询等功能,是初学者开发C#窗体应用程序的绝佳例子。下面是对C#窗体通讯录系统的示例代码的详细攻略。 一、项目结构 C#窗体通讯录系统的示例代码通常由三个主要文件组成: 窗体主文件 Form1.cs:该文件包含了窗体的设计、用户界面和逻辑处理等相关内容。 文本文件 PhoneBoo…

    C# 2023年5月31日
    00
合作推广
合作推广
分享本页
返回顶部