TMGR: Clear, Copy, Cut, Delete, Paste Methods Return No Error (161603)



The information in this article applies to:

  • Microsoft Team Manager

This article was previously published under Q161603

SYMPTOMS

The Paste method of the CurrentView object, and the Clear, Copy, Cut, and Delete methods of the Selection object return no errors when they fail.

When a macro in another application uses one of these methods to control Microsoft Team Manager, the macro cannot use error trapping to test if the method has failed.

WORKAROUND

To retrieve or edit data for tasks, people, or assignments, write the macro using the corresponding collections instead of using the Paste method of the CurrentView object and the Clear, Copy, Cut, and Delete methods of the Selection object. For example, the following macro displays the Start date of the task with ID 3, and then sets its Deadline to 2/1/97:
   Sub GetStartOfTask1()
     Set tm = GetObject(, "TeamManager.Application")
     MsgBox tm.Tasks(3).Start
     tm.Tasks(3).Deadline = "2/1/97"
   End
				
The current view and selection have no affect using this approach.

STATUS

This behavior is by design.

MORE INFORMATION

All of the code in this article is assumed to be in another application, such as Microsoft Excel or Visual Basic.

The CurrentView object is accessed by applying the CurrentView method to the Window object. For example, the macro below displays the name of the current view in Microsoft Team Manager:
   Sub GetCurrentView()
     Set TM = GetObject(, "TeamManager.Application")
     MsgBox TM.Window.CurrentView.Name
   End Sub
				
The Selection Object is accessed by applying the Selection method to the CurrentView object. For example, the following macro displays the number of tasks in the current selection (an OLE Automation error occurs if a task table is not active):
   Sub HowManyTasksAreSelected()
     Set TM = GetObject(, "TeamManager.Application")
     MsgBox TM.Window.currentview.Selection.Tasks.Count
   End Sub
				
The Paste method of the CurrentView object and the Clear, Copy, Cut, and Delete methods of the Selection object behave differently, depending on the active view and selection. In some views, such as Missing Status Reports, these methods always fail. For example, if the Missing Status Reports view is currently active in Microsoft Team Manager, then the following macro fails to copy anything to the Clipboard, but returns no error:
   Sub test1()
     Set TM = GetObject(, "TeamManager.Application")
     TM.Window.CurrentView.Selection.Copy
   End Sub
				
In some views, the success or failure of these methods depends on the active selection. For example, in the Task Organizer view, the Paste method fails without returning an error if the active selection is a cell in a read-only field, such as the task Start field.

Sometimes these methods cause Microsoft Team Manager to display a warning message or a prompt offering a choice of actions. For example, attempting to paste an invalid date into the Deadline field causes Microsoft Team Manager to display an invalid date message with Try Again and Clear It buttons. The Microsoft Team Manager window must be active to see the message, and the calling macro hangs while the message is displayed. The Paste method returns no error or value indicating which button is clicked.

The Paste method of the CurrentView object and the Clear, Copy, Cut, and Delete methods of the Selection object are very limited. To retrieve or edit specific fields in specific records, the macro must be written to work with a specific view and arrangement of columns. Whenever possible, write the macro using the tasks, people, and assignments collections instead.

REFERENCES

For additional information about using OLE Automation with Microsoft Team Manager, see the TM1VBA.WRI file located in the same folder as the Microsoft Team Manager application.

Modification Type:MinorLast Reviewed:8/17/2005
Keywords:KB161603