![]() |
|
#1
|
|||
|
|||
|
I actually had all of this working a few weeks ago, but managed to lose three of my Macros when I "upgraded" from WinXP to Vista
!!!I have rewritten most code and it all seems to be working, except for this bit, I can't for the life of me remember how I updated my Outlook Tasks in my Word Macro !!!I am linked to Outlook & am able to send an E:Mail, but I then need to update a Task and can't get it working, can anybody please tell me what I need to do here ?!? Basically, I know *exactly* what the Task will be called, I just need to open it, edit it, save it, close it ... but at the moment I can't even link to it ![]() Code:
Sub myButtonMacro3(control As IRibbonControl)
myDocName = Left(ActiveDocument.Name, (InStr(ActiveDocument.Name, ".doc")) - 1)
mySession = ""
While IsNumeric(Right(myDocName, 1))
mySession = Right(myDocName, 1) + mySession
myDocName = Left(myDocName, Len(myDocName) - 1)
Wend
myLeagueName = Left(myDocName, Len(myDocName) - 4)
mySubject = "NewsLetter For " + myLeagueName + " Session " + mySession
myBody = "Here you go ..."
ActiveDocument.Save
Set oOutlookApp = GetObject(, "Outlook.Application")
If Err <> 0 Then
Set oOutlookApp = CreateObject("Outlook.Application")
bStarted = True
End If
Set oItem = oOutlookApp.CreateItem(olMailItem)
With oItem
.To = "xxx@gmail.com"
.Subject = mySubject
.Body = myBody
.Attachments.Add ActiveDocument.FullName
.Send
End With
If bStarted Then
oOutlookApp.Quit
End If
UpdateCalendar '<<< Call Routine to update Task
Set oItem = Nothing
Set oOutlookApp = Nothing
Application.Quit
End Sub
Sub UpdateCalendar()
'The following code is NOT working code, it is just typed up from memory, but no matter what I try,
'I cannot even get the next line working & I am getting no help from the IntelliSense system !
Set oTsk = Outlook.TaskItem
For Each oTsk In oOutlookApp
If Task.Name = myLeagueName & " Newsletter" Then
Task.Status = olWaitingOnSomeoneElse
Task.Complete = "75%"
Task.Categories = "Newsletters : Sent"
Task.Save
End If
Next olTsk
End Sub
|
|
#2
|
||||
|
||||
|
With your 'UpdateCalendar' sub, you have some variable naming inconsistences that should be immediately apparent - especially if you set 'Option Explicity' at the top of your code module.
The other issues you'll have with running your 'UpdateCalendar' sub are: (a) you Quit Outlook before calling it; and (b) The sub has no Outlook objects of its own. Although I'm no Outlook expert (I don't even use it, so I don't know the object model), you might try something based on: Code:
Sub myButtonMacro3(control As IRibbonControl)
Dim myDocName As String, mySession As String, myLeagueName As String
Dim mySubject As String, myBody As String
Dim objOutlook As Object, oItem As Object, olTsk As Object
myDocName = ActiveDocument.Name
myDocName = Left(myDocName, (InStrRev(myDocName, ".")) - 1)
mySession = ""
While IsNumeric(Right(myDocName, 1))
mySession = Right(myDocName, 1) + mySession
myDocName = Left(myDocName, Len(myDocName) - 1)
Wend
myLeagueName = Left(myDocName, Len(myDocName) - 4)
mySubject = "NewsLetter For " + myLeagueName + " Session " + mySession
myBody = "Here you go ..."
ActiveDocument.Save
'Start/Run Outlook.
Set oOutlookApp = GetObject(, "Outlook.Application")
If Err <> 0 Then
Set oOutlookApp = CreateObject("Outlook.Application")
bStarted = True
End If
'Sen Email.
Set oItem = oOutlookApp.CreateItem(olMailItem)
With oItem
.To = "xxx@gmail.com"
.Subject = mySubject
.Body = myBody
.Attachments.Add ActiveDocument.FullName
.Send
End With
'Update Calendar.
Set olTsk = objOutlook.TaskItem
For Each olTsk In objOutlook
With olTsk
If .Name = myLeagueName & " Newsletter" Then
.Status = olWaitingOnSomeoneElse
.Complete = "75%"
.Categories = "Newsletters : Sent"
.Save
End If
End With
Next olTsk
'Quit Outlook if we started it.
If bStarted Then oOutlookApp.Quit
Set oItem = Nothing: Set olTsk = Nothing: Set oOutlookApp = Nothing
Application.Quit
End Sub
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
|
#3
|
|||
|
|||
|
Paul, thank you ... especially for pointing out "(a) you Quit Outlook before calling it" ... I feel a bit of a fool now !!! I just didn't see that line, a clear case of not seeing the wood for the trees, I guess
!!!I will take a look at what you say & see if I can get working, thanks again, I may be back later !!! |
|
| Tags |
| outlook 2007, word 2007, word vba |
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Excel 2007 to Outlook 2007 - task import possible? | mjwillyone | Outlook | 2 | 07-05-2023 07:23 AM |
| Auto update footer in Word 2007 | worduser1970 | Word | 4 | 11-27-2012 08:02 AM |
| Outlook 2007 Task Bar | marstantrails | Outlook | 1 | 05-04-2012 08:15 PM |
Outlook 2007 & To-Do Task Bar
|
Tex | Outlook | 1 | 05-18-2011 12:15 PM |
| Update from 2003 outlook to 2007 Cannot sort contacts alphabetically | mestisoz | Outlook | 11 | 02-21-2011 02:18 PM |