I was looking to update a batch of bogus Word Document Author property
values based on owner values when I came across this thread. I found a
solution that I thought you might find useful:
http://www.microsoft.com/technet/scriptcenter/resources/qanda/oct04/hey1
001.mspx
In case the above link dies before this thread does, the relevant
content follows:
-------- BEGIN PASTE
Q. How Can I Write to the Comments Field of a Document?
-- EF
A. Hey, Scripting Guy! Can I add text to the Comments field of a file
using a script?
Hey, EF. For those of you who aren�t sure what EF is referring to,
right-click a document in Windows Explorer and then click Properties. In
the dialog box that appears, click on the Summary tab. See the text box
labeled Comments? That�s the field EF would like to be able to populate
using a script.
So is that possible? As a matter of fact it is, provided you go to the
Downloads Center on Microsoft.com
(http://www.microsoft.com/downloads/search.aspx?displaylang=en) and
download Dsofile. Dsofile installs a new COM object that allows you to
both read from and write to the summary information fields for a
document. For example, here�s a script that adds the clever comment
�This is a comment� to the Comments field for a document:
Set objPropertyReader = CreateObject("DSOleFile.PropertyReader")
Set objDocument = objPropertyReader.GetDocumentProperties _
("C:\Scripts\Test.doc")
objDocument.Comments = "This is a comment."
Pretty slick, huh? Summary information fields you can change using a
script include: Author; Category; Comments; Company; Keywords;
LastEditedBy; Manager; Subject; and Title.
And, of course, you can read the summary information fields as well:
Set objPropertyReader = CreateObject("DSOleFile.PropertyReader")
Set objDocument = objPropertyReader.GetDocumentProperties _
("C:\Scripts\Test.doc")
Wscript.Echo "App name: " & objDocument.AppName
Wscript.Echo "Author: " & objDocument.Author
Wscript.Echo "Byte count: " & objDocument.ByteCount
Wscript.Echo "Category: " & objDocument.Category
Wscript.Echo "Character count: " & objDocument.CharacterCount
Wscript.Echo "Character count with spaces: " &
objDocument.CharacterCountWithSpaces
Wscript.Echo "CLSID: " & objDocument.CLSID
Wscript.Echo "Comments: " & objDocument.Comments
Wscript.Echo "Company: " & objDocument.Company
Set colCustomProperties = objDocument.CustomProperties
For Each strProperty in colCustomProperties
Wscript.Echo vbTab & strProperty.Name & ": " & strProperty.Value
Next
Wscript.Echo "Date created: " & objDocument.DateCreated
Wscript.Echo "Date last printed: " & objDocument.DateLastPrinted
Wscript.Echo "Date last saved: " & objDocument.DateLastSaved
Wscript.Echo "Has macros: " & objDocument.HasMacros
Wscript.Echo "Hidden slides: " & objDocument.HiddenSlides
Wscript.Echo "Icon: " & objDocument.Icon
Wscript.Echo "Is read only: " & objDocument.IsReadOnly
Wscript.Echo "Keywords" & objDocument.Keywords
Wscript.Echo "Last edited by: " & objDocument.LastEditedBy
Wscript.Echo "Line count: " & objDocument.LineCount
Wscript.Echo "Location: " & objDocument.Location
Wscript.Echo "Manager: " & objDocument.Manager
Wscript.Echo "Multimedia clips: " & objDocument.MultimediaClips
Wscript.Echo "Name: " & objDocument.Name
Wscript.Echo "Page count: " & objDocument.PageCount
Wscript.Echo "Paragraph count: " & objDocument.ParagraphCount
Wscript.Echo "Presentation format: " & objDocument.PresentationFormat
Wscript.Echo "Presentation notes: " & objDocument.PresentationNotes
Wscript.Echo "ProgID: " & objDocument.ProgID
Wscript.Echo "Revision number: " & objDocument.RevisionNumber
Wscript.Echo "Slide count: " & objDocument.SlideCount
Wscript.Echo "Subject: " & objDocument.Subject
Wscript.Echo "Template: " & objDocument.Template
Wscript.Echo "Thumbnail: " & objDocument.Thumbnail
Wscript.Echo "Title: " & objDocument.Title
Wscript.Echo "Version: " & objDocument.Version
Wscript.Echo "Word count: " & objDocument.WordCount
Before you ask, we don�t know of any method built into the operating
system that enables you to modify the summary information fields; you�ll
have to download Dsofile to do that. It is possible, however, to read at
least some of this information using the Windows Shell object. For
details, check out this section of the Microsoft Windows 2000 Scripting
Guide.
For More Information
Check out the Hey, Scripting Guy! - Archive
-------- END PASTE
*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!