RE: How to save message before the spelling start ?
From: Bragu (Bragu_at_discussions.microsoft.com)
Date: 03/08/05
- Next message: VilMarci: "Re: sent on behalf of"
- Previous message: Michael Bauer: "Re: Tracking mail storage in folder"
- In reply to: Bragu: "RE: How to save message before the spelling start ?"
- Next in thread: Eric Legault [MVP - Outlook]: "RE: How to save message before the spelling start ?"
- Reply: Eric Legault [MVP - Outlook]: "RE: How to save message before the spelling start ?"
- Messages sorted by: [ date ] [ thread ]
Date: Tue, 8 Mar 2005 00:01:01 -0800
Hi,
I tried also this way (see code) but I get the Automation Error.
What I can do to skip this error ? I have already certificate my macro and
setted the certificate as trusted.
Sub mySend()
Dim objApp As Outlook.Application
Dim objInspector As Outlook.Inspector
Dim objItem As MailItem
Dim strRecipName As String
Dim flgErr As Integer
Dim ctrl As CommandBarControl
flgErr = 0
On Error GoTo errHandler
Set objApp = CreateObject("Outlook.Application")
Set objInspector = objApp.ActiveInspector
If Not TypeName(objInspector) = "Nothing" Then
Set objItem = objInspector.CurrentItem
If objItem.Class = olMail And _
objItem.Sent = False Then
objItem.Save
'send ==== the next line return an automation Error !!!!
Set ctrl = Application.ActiveInspector.CommandBars.FindControl(,
2617)
ctrl.Execute
End If
End If
Set objItem = Nothing
Set objInspector = Nothing
Set objApp = Nothing
Exit Sub
errHandler:
Select Case flgErr
Case 1:
MsgBox "Il messaggio è stato salvato ma non è stato possibile
eseguire il controllo ortografico", vbInformation, "Check Mail"
Case 287:
MsgBox "Mail non spedito come da vostra scelta.", vbInformation,
"Check Mail"
Case Else
MsgBox "Errore : " & "(" & Err.Number & ")" & vbCrLf &
Err.Description, vbCritical, "Errore nel controllo/invio mail"
End Select
End Sub
"Bragu" wrote:
> Hi Eric,
>
> I had already tryed what you suggest: trap the send event, but this event
> is rised after the spellchecking has runned so for me it's to late --> maybe
> the outlook as already crashed.
>
> As you say I could repaire my office installation but the problem exist on >
> 100 PC of my Company so if I found a workround will be better.
>
> Do you know if there is a way to Know the answer a the spellcheker question:
> "The spelling check was stopped before it finished. Do you want to send
> anyay?" when you stop the spell check?
> If I can trap this I resolve my problem using the code I posted and modifing
> the function:
>
> Function CheckSpelling()
> ' SpellChecker ID = 2
>
> Dim ctrl As CommandBarControl
> ' Set cbrMenuBar = Application.ActiveInspector.CommandBars '("Standard")
> ' cbrMenuBar.FindControl(, 2).Execute
> Set ctrl = Application.ActiveInspector.CommandBars.FindControl(, 2)
> If ctrl.Enabled Then
> ctrl.Execute '==== How trap the spelling cancel button ?
> End If
> End Function
>
>
> "Eric Legault [MVP - Outlook]" wrote:
>
> > Outlook provides no hooks into the spell checking event.
> >
> > If you want to ensure that messages are saved before sending, one way to do
> > this without code is to turn on the AutoSave option in Advanced E-mail
> > Options.
> >
> > BTW, the Send event is firing after the spell check is run because the user
> > has clicked Send, which runs spell check first if it is turned on.
> >
> > If you must use code, simply trap the Send event for all new e-mails and
> > call the Item.Save event. See this article on how to hook into this:
> >
> > Getting a Handle on Your E-mails with VBA:
> > http://blogs.officezealot.com/legault/articles/2224.aspx
> >
> > If Outlook is crashing with no code running because of the spell check, you
> > might want to try running Detect and Repair in Office Setup.
> >
> > --
> > Eric Legault - B.A, MCP, MCSD, Outlook MVP
> > --------------------------------------------------
> > {Private e-mails ignored}
> > Job: http://www.imaginets.com
> > Blog: http://blogs.officezealot.com/legault/
> >
> > "Bragu" wrote:
> >
> > > We have a problem: if we have setted the option to spell the mail before
> > > sending the outlook, sometimes, crash and we lose the mail.
> > >
> > > I want to write a macro that save the mail before sending, so if the
> > > application crash we don't lose the mail.
> > > But the event send of MailItem is rised after the spelling it's runned.
> > > Is there any way to save it before the spelling start ?
> > >
> > > I wrote a macro (copy from explamples on internet) that work we commandbars
> > > button (see Sub SaveSpellSend attached ) but it's not a nice way because if
> > > somebody stop the spell checking the mail will be sended anyway.
> > >
> > > Thank's for any help ... and sorry for my english
> > >
> > > ps: Our system are w2k/ xp with office 2000 SR1 multilanguage pack with all
> > > the last fix installed.
> > >
> > >
> > >
> > >
> > > Sub SaveSpellSend()
> > > Dim objApp As Outlook.Application
> > > Dim objInspector As Outlook.Inspector
> > > Dim objItem As MailItem
> > > Dim strRecipName As String
> > > Dim flgErr As Integer
> > >
> > > flgErr = 0
> > > On Error GoTo errHandler
> > > Set objApp = CreateObject("Outlook.Application")
> > > Set objInspector = objApp.ActiveInspector
> > > If Not TypeName(objInspector) = "Nothing" Then
> > > Set objItem = objInspector.CurrentItem
> > > If objItem.Class = olMail And _
> > > objItem.Sent = False Then
> > > objItem.Save
> > > flgErr = 1
> > > If CheckSpelling Then
> > > objItem.Send
> > > Else
> > > MsgBox "Per poter eseguire il controllo ortografico il cursore
> > > deve trovarsi nel body", vbExclamation
> > > End If
> > > End If
> > > End If
> > > Set objItem = Nothing
> > > Set objInspector = Nothing
> > > Set objApp = Nothing
> > > Exit Sub
> > > errHandler:
> > > Select Case flgErr
> > > Case 1:
> > > MsgBox "Il messaggio è stato salvato ma non è stato possibile
> > > eseguire il controllo ortografico", vbInformation, "Check Mail"
> > > Case 287:
> > > MsgBox "Mail non spedito come da vostra scelta.", vbInformation,
> > > "Check Mail"
> > > Case Else
> > > MsgBox "Errore : " & "(" & Err.Number & ")" & vbCrLf &
> > > Err.Description, vbCritical, "Errore nel controllo/invio mail"
> > > End Select
> > >
> > > End Sub
> > >
> > >
> > >
> > >
> > >
- Next message: VilMarci: "Re: sent on behalf of"
- Previous message: Michael Bauer: "Re: Tracking mail storage in folder"
- In reply to: Bragu: "RE: How to save message before the spelling start ?"
- Next in thread: Eric Legault [MVP - Outlook]: "RE: How to save message before the spelling start ?"
- Reply: Eric Legault [MVP - Outlook]: "RE: How to save message before the spelling start ?"
- Messages sorted by: [ date ] [ thread ]