2012-09-10 204 views
0

我想通过asp.net(vb)读取Word,Excel文件的元数据(如作者,关键字等)。我怎样才能做到这一点 ?如何通过Vb.net读取Word,Excel元数据?

是否有任何样品,参考网站?

我发现下面的代码在网上,但它的第二个语句返回错误(“DIM excelbook作为新Microsoft.Office.Interop.Excel.Workbook”)

Public Sub ReadExcel(ExcelFileName As String) 

    Dim Wapp As New Microsoft.Office.Interop.Excel.Application 
    Dim excelbook As New Microsoft.Office.Interop.Excel.Workbook 

    If Wapp Is Nothing Then 
     Wapp = New Microsoft.Office.Interop.Excel.Application 
    End If 

    If excelbook Is Nothing Then 
     excelbook = New Microsoft.Office.Interop.Excel.Workbook 
    Else 
     excelbook.Close() 
    End If 

    excelbook = Wapp.Workbooks.Open(ExcelFileName) 

    Dim _BuiltInProperties As Object = excelbook.BuiltinDocumentProperties 

    If Not _BuiltInProperties Is Nothing Then 
     excel_keyword = _BuiltInProperties("Keywords").Value 
    End If 

    If Not excelbook Is Nothing Then 
     excelbook.Close() 
    End If 

    If Not Wapp Is Nothing Then 
     Wapp.Quit() 
    End If 

End Sub 

回答

0

Social.MSDN

引用您可以访问使用DSOFile(适用于一大堆不同的文件类型),或者更简单地说,你可以在VBA像这样访问这些属性

Sub Macro1() 
' 
' Macro1 Macro 
' 
    Dim mWorkbook As Workbook 
    Set mWorkbook = Application.Workbooks(1) 
    mWorkbook.BuiltinDocumentProperties("Author").Value = "the Author" 
    mWorkbook.BuiltinDocumentProperties("Title").Value = "the Title" 
    mWorkbook.BuiltinDocumentProperties("Subject").Value = "the Subject" 
End Sub 
2

这里是为same的例子。或者你可以从https://dl.dropbox.com/u/79986486/StackOverFlow9684368.zip下载{Temporary}

你可以使用openXML与C#或VB.Net来实现这一点。

希望这会有所帮助。

+0

链接没有按值没用 - 你需要一个微软账户。该链接重定向到https://login.live.com/login.srf?wa=wsignin1.0&rpsnv=11&ct=1347262558&rver=6.2.6289.0&wp=MBI_SSL_SHARED&wreply=https%3A%2F%2Fskydrive.live.com%2F%3Fcid %3D6514bc76687e775b%26id%3D6514BC76687E775B%21131&lc = 2057&id = 250206&mkt = zh-CN&cbcxt = sky – enhzflep

+1

从Dropbox上面下载 –