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日

相关文章

  • C#基于TCP协议的服务器端和客户端通信编程的基础教程

    C#基于TCP协议的服务器端和客户端通信编程的基础教程 1. TCP协议简介 TCP协议是面向连接的、可靠的传输层网络协议,常用于提供高可靠性的通信服务,其优点包括可靠性高、传输效率稳定等。 2. C#基于TCP协议的服务器端和客户端通信编程 编写C#程序实现TCP通信需要遵循以下基本步骤: 创建服务器端程序和客户端程序的套接字(Socket) 设置服务器端…

    C# 2023年6月7日
    00
  • 游戏开发之随机概率的选择算法

    游戏开发中,随机数算法是一个非常重要的部分,它常常被用来在游戏当中生成随机的事件、物品、角色属性等等。而其中选择算法则是如何从一个固定的集合中,按照一定的概率来随机选择一个目标的算法。 以下是游戏开发中常用的三种选择算法: 1. 等概率随机算法 这种算法是最简单的一种,它的实现原理是先生成一个 0-1 之间的随机数,然后将这个随机数乘以集合元素的个数,将结果…

    C# 2023年6月7日
    00
  • .Net实现图片裁剪图片缩放及图片加水印详解

    以下是“.Net实现图片裁剪图片缩放及图片加水印详解”的完整攻略,包括图片裁剪、图片缩放、图片加水印等内容。 图片裁剪 在.NET中实现图片裁剪,您可以使用System.Drawing命名间中的Image类和Graphics类。以下是一个示例,演示如何在.NET中实现图片裁剪: using.Drawing; using System.Drawing.Imag…

    C# 2023年5月12日
    00
  • Asp.NET调用百度翻译的方法

    当我们需要在Asp.NET程序中使用百度翻译服务时,可以通过百度翻译提供的API接口来实现。下面是在Asp.NET中调用百度翻译的方法攻略: 1.申请百度翻译API接口的app id和密钥 在使用百度翻译API之前,需要在百度开发者平台申请app id和密钥。具体步骤如下: 1)进入百度开发者中心(https://console.bce.baidu.com/…

    C# 2023年5月31日
    00
  • 不用IDE写C#的Hello World的方法

    下面是不用IDE写C#的HelloWorld的方法的完整攻略。 什么是C#? C# (C Sharp) 是由微软公司开发的一种面向对象、类型安全、高效并且易于学习的编程语言。它是能够在 .NET 平台上开发各种应用程序的一种语言。 需要的工具 .NET Framework(最新版本) 文本编辑器,例如 Notepad++, Sublime Text 等 创建…

    C# 2023年5月14日
    00
  • .Net Core项目中NLog整合Exceptionless实例

    .NET Core项目中NLog整合Exceptionless实例 NLog是一个流行的日志记录库,可以在.NET Core项目中使用。Exceptionless是一个开源的错误和日志记录平台,可以帮助开发人员快速识别和解决问题。本文将介绍如何在.NET Core项目中整合NLog和Exceptionless,以便更好地记录和管理日志和错误。 准备工作 在开…

    C# 2023年5月17日
    00
  • C#中结构体定义并转换字节数组详解

    关于“C#中结构体定义并转换字节数组详解”,这是一篇关于C#中结构体的定义及转化字节数组的攻略,主要涉及以下几个方面: 结构体定义 结构体转换为字节数组的方法 字节数组转换为结构体的方法 示例说明 结构体定义 在C#中,结构体与类非常类似,也是一种自定义的数据类型,可以包含多个不同的数据类型(包括值类型和引用类型),但与类不同的是,结构体是一种值类型,它们在…

    C# 2023年6月7日
    00
  • asp.net 多字段模糊查询代码

    请允许我详细讲解一下实现 ASP.NET 多字段模糊查询的完整攻略。以下是步骤和代码示例: 1. 创建 ASP.NET Web 应用程序 首先,在 Visual Studio 中创建一个 ASP.NET Web 应用程序。选择“Web Application(.NET Framework)”模板,名称为“MultiFieldFuzzySearch”,创建一个…

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