Accessing Word Document Properties

I have a form that opens Word documents within a web browswer control.

Having a reference to the Word Object Library, I can open the Properties dialog by using:
"mDoc.Application.Dialogs(wdDialogFileSummaryInfo).Show"

My question is can the data in this dialog be accessed via vb code so that I can update it with data from an Access db, without the user seeing it?
gammbroAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
rovermConnect With a Mentor Commented:
First get a reference to Word:

On Error Resume Next
Set oWord = GetObject("", "Word.Application")
If Err.Number <> 0 Then
  MsgBox "error getting word"
  Exit Sub
End If

Then retreive or set the prop's like this:

   Sub SetSummaryInfo ()
      Dim dp As Object
      Dim sTitle As String
      If oWord.Documents.Count > 0 Then
         Set dp = oWord.Dialogs(wdDialogFileSummaryInfo)
         ' Retrieve value of "Title" into a variable.
         sTitle  = dp.Title
         ' Set "Title" to a new value.
         dp.Title = "My Title"
         ' Set the value without showing the dialog.
         dp.Execute
         ' Save the changes
         oWord.ActiveDocument.Save
      End If
   End Sub

Set oWord = Nothing

D'Mzzl!
RoverM
0
 
gammbroAuthor Commented:
OK - that works.

Now, can I refer to the Word Properties dialog box without opening the document in by broswer control, or does the document have to be open?
0
 
rovermCommented:
No, you cannot access the 'document' properties without a document.
So you still need to open it. If you don't want to show it, just set the oWord.Visible property to false.

D'Mzzl!
RoverM
0
Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

 
gammbroAuthor Commented:
When I try to run, I get an error on the GetObject function:

Runtime Error '432'

File name or class name not found during Automation operation.

The file exists and I have the correct path specified to the file.
0
 
rovermCommented:
gammbro:
Where do you get the error (trace through the code ?) ?

0
 
gammbroAuthor Commented:
Actually, I got it to work.  I was intializing my variable incorrectly.

However, I have another question related to this.  I am looking to secure my Word documents by placing a password on them.

How can I go about this through vb code?
0
 
rovermCommented:
This example will allow you to set a password:

    With oWord.ActiveDocument
        .ReadOnlyRecommended = False
        .Password = "myopenpassword"
        .WritePassword = "myeditpassword"
    End With

To remove the password from the document, just set the password to an empty string : "".

After changing it:
oWord.ActiveDocument.Saved = False
oWord.ActiveDocument.Save

You have to do this because else Word 'thinks' that nothing did change, and will NOT update the password.

D'Mzzl!
RoverM
0
 
DanRollinsCommented:
Hi gammbro@devx,
It appears that you have forgotten this question. I will ask Community Support to close it unless you finalize it within 7 days. I will ask a Community Support Moderator to:

    Accept roverm's comment(s) as an answer.

gammbro@devx, if you think your question was not answered at all or if you need help, just post a new comment here; Community Support will help you.  DO NOT accept this comment as an answer.

EXPERTS: If you disagree with that recommendation, please post an explanatory comment.
==========
DanRollins -- EE database cleanup volunteer
0
 
NetminderCommented:
Per recommendation, force-accepted.

Netminder
CS Moderator
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.