Я запускаю пользовательский скрипт, который меняет представление во время своих вычислений.Когда я запускаю сценарий VBA, представление не имеет конкретного фильтра, имени таблицы или представления.Я хочу восстановить вид так же, как это было до того, как пользователь запустил скрипт, включая задачу, на которой он находится.Кажется, что присвоение представления первому шагу, когда скрипт запускает и сохраняет задачу, которая имеет фокус, а затем активирует вид и фокусируется на завершении скрипта, - это потенциальный способ сделать это, но я не добился успеха.Я бы удалил именованное представление в конце выполнения скрипта.Любые предложения или указать мне на предыдущие обсуждения на этом форуме, которые, возможно, ответили;мой поиск ничего не выявил.
Род Гилл предложил следующее, но, если я что-то не так делаю, это не сработает.
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