Windows Phone Developers

Wednesday, December 10, 2008

How to Set Built-In Properties of Word Document using VB.NET

VB.NET Set Built-in Properties

With more collaboration happening across offices, document properties have gained more importance. Word properties can be categorised as a)Custom Property b) Built-in property

Some common built-in properties are

· Title

· Subject

· Author

· Keywords

· Comments

The following code can be used to get the built-in property of the given word document.

Here are the directives necessary for the program

Imports Office = Microsoft.Office.Core

Imports Word = Microsoft.Office.Interop.Word

Imports System.Reflection

System.Reflection looks an odd man here right! Yes, we will be using the Reflection class to retrieve the properties of the Word document

The following variables initialize the Word Application

Dim oWA As Word.Application = New Word.Application

Dim oWD As Word.Document

The code uses System.Type class’s members like InvokeMember, Gettype etc. Type is the root of the System.Reflection functionality and is the primary way to access metadata.

The following code opens a Word document and sets its ‘Subject’ property.

Sub SetBuiltInProp()

Try

Dim oBuiltProps As Object

oWA.Visible = True

oWD = oWA.Documents.Open("C:\ShasurData\DND_DEC_2008.doc")

oBuiltProps = oWD.BuiltInDocumentProperties

Dim TypBuiltProps As Type = oBuiltProps.GetType

Dim sPropertyName As String = "Subject"

Dim oProp As Object = TypBuiltProps.InvokeMember("Item", BindingFlags.Default Or BindingFlags.GetProperty, Nothing, oBuiltProps, New [Object]() {sPropertyName})

Dim sPropValue As String = "VSTO Examples"

Dim TypSubject As Type = oProp.GetType

TypSubject.InvokeMember("Value", BindingFlags.Default Or BindingFlags.SetProperty, Nothing, oProp, New [Object]() {sPropValue})

Catch ex As Exception

Console.WriteLine(ex.Message)

Finally

oWD.Save()

oWD.Close()

oWA.Quit()

End Try

End Sub

The GetType method returns a Type object that represents the type of an instance.

Setting other built-in properties will be the same as above.

Digg Technorati Delicious StumbleUpon Reddit BlinkList Furl Mixx Facebook Google Bookmark Yahoo
ma.gnolia squidoo newsvine live netscape tailrank mister-wong blogmarks slashdot spurl StumbleUpon

No comments:

Post a Comment