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日

相关文章

  • Winform窗体如何改变语言类型

    Winform 窗体的语言设置主要涉及以下两方面: 改变窗体语言的方式 处理措施 下面我们将会讲解如何进行以上两个方面设置。 改变窗体语言的方式 Winforms 默认依赖系统语言,在资源文件中保存语言翻译。有三种常见方式实现表单翻译: 静态文本资源文件 动态文本资源文件 使用第三方库 静态文本资源文件 使用静态文本资源文件时,我们在应用程序中会有一个包含预…

    C# 2023年6月6日
    00
  • C#使用Task实现执行并行任务的原理的示例详解

    下面就来详细讲解如何使用C#的Task库实现并行执行任务的原理及示例。 什么是Task Task是.NET Framework 4.5及以上版本中新增的一个库,它的主要作用是提供一种方便、高效的方式来管理并发和异步编程相关的任务。相比较于自行利用Thread和ThreadPool管理线程,使用Task可以更方便地控制异步任务,并且能够支持更多种的异步模型。 …

    C# 2023年5月15日
    00
  • c#读取图像保存到数据库中(数据库保存图片)

    下面是“c#读取图像保存到数据库中(数据库保存图片)”的完整攻略: 1. 准备工作 在开始正式的代码编写之前,需要先做一些准备工作: 创建一个数据库,并在其中新建一张表以保存图片数据。该表至少应该包含三个字段:id,name和image_data。 在代码中添加相关的引用,如:System.Drawing、System.IO、System.Data.SqlC…

    C# 2023年6月2日
    00
  • C#中间语言及ILDASM工具用法

    C#编译器会将C#源代码编译成一个叫做CIL(Common Intermediate Language,公用中间语言)的中间语言,这个中间语言是基于栈的虚拟机语言。CIL是一种基于栈的虚拟机语言,每个CIL指令都会入栈一个或多个值,并且返回结果也会通过栈来返回。 ILDASM是一个IL(Intermediate Language,中间语言)反汇编器,允许用户…

    C# 2023年6月3日
    00
  • C#中Socket通信用法实例详解

    C#中Socket通信用法实例详解 1. 简介 本文将详细讲解 C#中 Socket 通信的用法以及实例。Socket 是即插即用的通用数据交换接口,常用于不同操作系统、不同软件之间的通信。在 C# 中,通过 System.Net.Sockets 命名空间下的实现,可以轻松实现 Socket 通信,可以方便地实现 TCP、UDP 等协议。 2. 实例1:C#…

    C# 2023年6月3日
    00
  • C#中的IEnumerable简介及简单实现实例

    C#中的IEnumerable简介及简单实现实例 在 C# 中,IEnumerable 是一个常用的接口,它提供了一种遍历集合元素的方式。本文将介绍IEnumerable接口的概念和用法,并提供几个简单的实现实例。 什么是IEnumerable IEnumerable 是 C# 中的一个接口,它定义了一种用于枚举集合元素的标准协议。此接口有以下两个方法: p…

    C# 2023年6月1日
    00
  • C#删除字符串中重复字符的方法

    以下是“C#删除字符串中重复字符的方法”的完整攻略: 1. 查找字符串中的重复字符 要删除字符串中的重复字符,首先需要查找到字符串中的重复字符。我们可以遍历字符串中的每一个字符,然后与后面的字符逐个比较,如果有重复的字符,则记录其位置。这个过程可以用嵌套的for循环来实现: string str = "hello world"; List…

    C# 2023年6月8日
    00
  • 深入学习C#网络编程之HTTP应用编程(上)

    “深入学习C#网络编程之HTTP应用编程(上)”是一篇网络编程教程,通过介绍HTTP协议的相关知识及C#实现HTTP应用编程的方法,让初学者能够了解和掌握相关技能。该教程主要包含以下内容: 一、HTTP协议 HTTP协议是Web应用最常用的协议之一,它定义了Web客户端(如浏览器)和Web服务器之间的通信标准。本节主要介绍了HTTP协议包括:请求行、请求头部…

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