469,641 Members | 1,129 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,641 developers. It's quick & easy.

How to: Retrieving BuiltinDocumentProperties from Word Document

Word has a property BuiltinDocumentProperties, which (in VBA) returns a
DocumentProperties collection. In VB.NET, using Word automation, it returns
a _ComObject. I have tried to cast this to DocumentProperties, but I get an
invalid cast exception.

In Explorer, I can right click a Word document, click Properties, and I get
a tabbed dialog with Custom and Summary tabs. These tabs show me the built
in document properties of the document.

I notice that Explorer does this without starting a copy of Word, and it
does it reasonably quickly. The only coded example I have found uses late
binding to retrieve a property by name, but it assumes that I know the name
of the properties in advance.

How can I get at these properties in the same way that Explorer does it,
without starting Word? Also, Explorer can get the properties of a PDF,
without starting Acrobat, so there must be a generic way.

Failing that, how can I use Word automation and early binding to get them?

Any thoughts?

TIA

Charles
Jan 28 '06 #1
3 5340
On Sat, 28 Jan 2006 09:23:49 -0000, "Charles Law" <bl***@nowhere.com> wrote:

¤ Word has a property BuiltinDocumentProperties, which (in VBA) returns a
¤ DocumentProperties collection. In VB.NET, using Word automation, it returns
¤ a _ComObject. I have tried to cast this to DocumentProperties, but I get an
¤ invalid cast exception.
¤
¤ In Explorer, I can right click a Word document, click Properties, and I get
¤ a tabbed dialog with Custom and Summary tabs. These tabs show me the built
¤ in document properties of the document.
¤
¤ I notice that Explorer does this without starting a copy of Word, and it
¤ does it reasonably quickly. The only coded example I have found uses late
¤ binding to retrieve a property by name, but it assumes that I know the name
¤ of the properties in advance.
¤
¤ How can I get at these properties in the same way that Explorer does it,
¤ without starting Word? Also, Explorer can get the properties of a PDF,
¤ without starting Acrobat, so there must be a generic way.
¤
¤ Failing that, how can I use Word automation and early binding to get them?

See if the following helps:

How To Use Automation to Get and to Set Office Document Properties with Visual Basic .NET
http://support.microsoft.com/default...b;en-us;303294
Paul
~~~~
Microsoft MVP (Visual Basic)
Jan 30 '06 #2
Hi Paul

Thanks for the reply. It's actually this article that I am using as my
starting point.

In the article, Word is launched and a /known/ parameter - Author - is read.
Everything is done using late binding, and I would like to use early binding
because I always have Option Strict On.

Also, it presupposes that I know which properties I want to read, when, in
fact, I just want to get a list of the existing ones (and any custom
properties) to display to the user.

Thirdly, it is very slow, having to launch Word just to read these
properties. It would be nice to know how Explorer can do it so much more
quickly.

Charles
"Paul Clement" <Us***********************@swspectrum.com> wrote in message
news:1h********************************@4ax.com...
On Sat, 28 Jan 2006 09:23:49 -0000, "Charles Law" <bl***@nowhere.com>
wrote:

¤ Word has a property BuiltinDocumentProperties, which (in VBA) returns a
¤ DocumentProperties collection. In VB.NET, using Word automation, it
returns
¤ a _ComObject. I have tried to cast this to DocumentProperties, but I get
an
¤ invalid cast exception.
¤
¤ In Explorer, I can right click a Word document, click Properties, and I
get
¤ a tabbed dialog with Custom and Summary tabs. These tabs show me the
built
¤ in document properties of the document.
¤
¤ I notice that Explorer does this without starting a copy of Word, and it
¤ does it reasonably quickly. The only coded example I have found uses
late
¤ binding to retrieve a property by name, but it assumes that I know the
name
¤ of the properties in advance.
¤
¤ How can I get at these properties in the same way that Explorer does it,
¤ without starting Word? Also, Explorer can get the properties of a PDF,
¤ without starting Acrobat, so there must be a generic way.
¤
¤ Failing that, how can I use Word automation and early binding to get
them?

See if the following helps:

How To Use Automation to Get and to Set Office Document Properties with
Visual Basic .NET
http://support.microsoft.com/default...b;en-us;303294
Paul
~~~~
Microsoft MVP (Visual Basic)

Jan 30 '06 #3
For anyone wondering how this is done, the answer is IPropertyStorage.

The following link leads to an article and ActiveX control that does the
job:

http://support.microsoft.com/?id=224351

Charles
"Charles Law" <bl***@nowhere.com> wrote in message
news:%2*****************@TK2MSFTNGP15.phx.gbl...
Word has a property BuiltinDocumentProperties, which (in VBA) returns a
DocumentProperties collection. In VB.NET, using Word automation, it
returns a _ComObject. I have tried to cast this to DocumentProperties, but
I get an invalid cast exception.

In Explorer, I can right click a Word document, click Properties, and I
get a tabbed dialog with Custom and Summary tabs. These tabs show me the
built in document properties of the document.

I notice that Explorer does this without starting a copy of Word, and it
does it reasonably quickly. The only coded example I have found uses late
binding to retrieve a property by name, but it assumes that I know the
name of the properties in advance.

How can I get at these properties in the same way that Explorer does it,
without starting Word? Also, Explorer can get the properties of a PDF,
without starting Acrobat, so there must be a generic way.

Failing that, how can I use Word automation and early binding to get them?

Any thoughts?

TIA

Charles

Jan 30 '06 #4

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

5 posts views Thread by Jeffrey Bradshaw | last post: by
11 posts views Thread by Peter Afonin | last post: by
3 posts views Thread by =?Utf-8?B?Tmljaw==?= | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.