下面是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技术站