WD2000: Error Message Using WordMail: "This method or property is not available"ID: Q237338
|
When you are using Microsoft Word to edit e-mail messages (in Microsoft Outlook 2000, on the Tools menu, click Options and then click the Mail Format tab) and you try to automate Word from another program, you may encounter problems processing some Word commands. For example, you may receive Automation errors such as "This method or property is not available" or other errors.
This article describes how to check whether WordMail is running when using Automation to automate Word from another program.
This problem can occur when all of the following conditions are true:
if the current selection is within a WordMail message instead of the Word main document window:Run-time error '4605': "The Open method or property is not available
Dim wdObj As Word.Application
Set wdObj = GetObject(, "word.application")
wdObj.Documents.Open "c:\my documents\doc1.doc"
Microsoft provides programming examples for illustration only, without warranty
either expressed or implied, including, but not limited to, the implied warranties of
merchantability and/or fitness for a particular purpose. This article assumes that you
are familiar with the programming language being demonstrated and the tools used to
create and debug procedures. Microsoft support professionals can help explain the functionality
of a particular procedure, but they will not modify these examples to provide added
functionality or construct procedures to meet your specific needs. If you have limited
programming experience, you may want to contact a Microsoft Certified Solution Provider
or the Microsoft fee-based consulting line at (800) 936-5200. For more information about
Microsoft Certified Solution Providers, please see the following page on the World Wide Web:
http://www.microsoft.com/mcsp/For more information about the support options available from Microsoft, please see the following page on the World Wide Web:
http://www.microsoft.com/support/supportnet/overview/overview.aspTo determine whether the focus is in a WordMail message, use the Selection.Information property together with the FocusInMailHeader property to determine whether a WordMail instance or a Word instance has the focus.
Selection.Information(Type)
where Type is a constant specifying the information to return.
Use wdInWordMail as the Type constant to return a value that indicates the WordMail location of the selection, as shown in the following table:
Value WordMail Location ----------------------------- 0(zero) The selection or range isn't in a WordMail message. 1 The selection or range is in a WordMail send note. 2 The selection or range is in a WordMail read note.
Sub CheckForWordMail()
Dim wdObj As Word.Application
Dim boolWordMail As Boolean
' Initialize values.
boolWordMail = False
' If Word is running or a WordMail e-mail
' message is open, use GetObject. If Word
' or WordMail is not running, an error will occur.
On Error Resume Next
Set wdObj = GetObject(, "word.application")
If Err.Number = 0 Then
' If no error has occurred, call isWordMail Function
' to see if Word instance is Word or WordMail.
boolWordMail = isWordMail(wdObj)
Else
' If an error has occurred, create
' new instance of Word.
Set wdObj = CreateObject("word.application")
wdObj.Documents.Add
End If
If boolWordMail Then
' <Code to use for WordMail Instance>, for example:
MsgBox "Focus in WordMail."
Else
' <Code to use for Word Instance>, for example:
MsgBox "Focus in Word."
End If
' Free the object variable in memory.
Set wdObj = Nothing
End Sub
Function isWordMail(oWord As Word.Application) As Boolean
' Is focus in a WordMail Header (To, CC or Subject line)?
If oWord.Application.FocusInMailHeader Then
isWordMail = True
Exit Function
End If
' If not in WordMail Header, is focus in
' the body of a WordMail message?
If oWord.Selection.Information(wdInWordMail) Then
isWordMail = True
End If
End Function
For more information about Information property, in the Visual Basic Editor, click
Microsoft Visual Basic Help on the Help menu, type Information property in
the Office Assistant or the Answer Wizard, and then click Search to
view the topic.For additional information about using automation with Word, please see the following article in the Microsoft Knowledge Base:
Q237337 WD2000: How to Use (OLE) Automation with WordFor more information about using the sample code in this article, please see the following article in the Microsoft Knowledge Base:
Q212536 OFF2000: How to Run Sample Code from Knowledge Base Articles
Additional query words: vba
Keywords : kbdta kbwordvba wd2000
Version : WINDOWS:2000
Platform : WINDOWS
Issue type : kbprb
Last Reviewed: July 22, 1999