我正在运行一个用户定义的脚本,该脚本会在计算过程中更改视图。当我启动VBA脚本时,视图没有特定的过滤器,表或视图名称。我想还原视图,就像用户启动脚本(包括哪个任务具有焦点)之前一样。脚本启动时,将视图命名为第一步并保存具有焦点的任务,然后在脚本完成时激活视图和焦点似乎是实现此目的的一种潜在方法,但我没有成功。我将在运行脚本的最后删除命名视图。任何建议或使我指向该论坛上以前可能已回答的讨论;我的搜索没有显示任何内容。
罗德·吉尔(Rod Gill)提出了以下建议,但除非我做错了,否则它似乎不起作用。
Dim OrgnlID As Long
Dim OrgnlView As String
Dim OrgnlTable As String
Dim OrgnlFilter As String
OrgnlView = ActiveProject.CurrentView
OrgnlTable = ActiveProject.CurrentTable
OrgnlFilter = ActiveProject.CurrentFilter
OrgnlID = ActiveCell.Issue
' place your code here that does the view manipulations
' followed by the lines below to restore the view before manipulations
ViewApply OrgnlView
TableApply OrgnlTable
FilterApply OrgnlFilter
EditGoTo ID:=OrgnlID