Power Queries, обновленные через VBA, перестали работать при удаленном запуске - PullRequest
0 голосов
/ 13 мая 2019

Мой сценарий выглядит следующим образом:

Я должен запланировать запуск файла xlsm на удаленной машине, каждую ночь, который в основном открывает более 30 файлов Excel с мощными запросами для обновления на определенных рабочих листах;это достигается с помощью следующего выражения:

            If SelectRow <> "" And SelectColumn<> "" Then
               Cells(SelectRow, SelectColumn).Select
            End If


                On Error Resume Next
                Selection.PivotTable.PivotCache.Refresh

                Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False


                DoEvents
                Application.CalculateUntilAsyncQueriesDone
                Application.Wait DateAdd("n", Esperar, Now)


        xlBook.Save
        xlBook.Close True

Упомянутые силовые запросы соединяются с файлами и папками Excel на одном компьютере с установленными локальными путями.

Обратите внимание, что сами запросы работают, если запустить вручную.Я мог бы даже запустить этот макрос один раз с открытым удаленным сеансом, но он неизменно завершался ошибкой при запуске через планировщик или когда я закрывал удаленный сеанс.

Код не будет выполнен со следующими ошибками.Может ли кто-нибудь, пожалуйста, посоветовать?

Большое спасибо,

************** Exception Text **************
Microsoft.Mashup.Client.UI.Shared.Com.ComWrapperException: Cannot cast null to type 'System.Double'. ---> System.NullReferenceException: Object reference not set to an instance of an object.
   at Microsoft.Mashup.Client.UI.Shared.Com.ComWrapper.As[T](Object value)
   --- End of inner exception stack trace ---
   at Microsoft.Mashup.Client.UI.Shared.Com.ComWrapper.As[T](Object value)
   at Microsoft.Mashup.Client.Excel.Com.ExcelComWrapper.AsIntFromDouble(Object value)
   at Microsoft.Mashup.Client.Excel.Com.ApplicationFeatures..ctor(IApplication application)
   at Microsoft.Mashup.Client.Excel.Com.Application..ctor(Object application, Boolean enableEvents)
   at Microsoft.Mashup.Client.Excel.AddIn.TryCreateApplication(Object appObject, IApplication& application)
   at Microsoft.Mashup.Client.Excel.AddIn.Extensibility.IDTExtensibility2.OnConnection(Object application, ext_ConnectMode connectMode, Object addInInst, Array& custom)

************** Exception Text **************
Microsoft.Practices.Unity.ResolutionFailedException: Resolution of the dependency failed, type = "Microsoft.Mashup.Host.Document.IApplicationConstants", name = "(none)".
Exception occurred while: while resolving.
Exception is: InvalidOperationException - The current type, Microsoft.Mashup.Host.Document.IApplicationConstants, is an interface and cannot be constructed. Are you missing a type mapping?
-----------------------------------------------
At the time of the exception, the container was:

  Resolving Microsoft.Mashup.Host.Document.IApplicationConstants,(none)
 ---> System.InvalidOperationException: The current type, Microsoft.Mashup.Host.Document.IApplicationConstants, is an interface and cannot be constructed. Are you missing a type mapping?
   at Microsoft.Practices.ObjectBuilder2.DynamicMethodConstructorStrategy.ThrowForAttemptingToConstructInterface(IBuilderContext context)
   at BuildUp_Microsoft.Mashup.Host.Document.IApplicationConstants(IBuilderContext )
   at Microsoft.Practices.ObjectBuilder2.BuildPlanStrategy.PreBuildUp(IBuilderContext context)
   at Microsoft.Practices.ObjectBuilder2.StrategyChain.ExecuteBuildUp(IBuilderContext context)
   at Microsoft.Practices.Unity.UnityContainer.DoBuildUp(Type t, Object existing, String name, IEnumerable`1 resolverOverrides)
   --- End of inner exception stack trace ---
   at Microsoft.Practices.Unity.UnityContainer.DoBuildUp(Type t, Object existing, String name, IEnumerable`1 resolverOverrides)
   at Microsoft.Practices.Unity.UnityContainer.Resolve(Type t, String name, ResolverOverride[] resolverOverrides)
   at Microsoft.Practices.Unity.UnityContainerExtensions.Resolve[T](IUnityContainer container, ResolverOverride[] overrides)
   at Microsoft.Mashup.Host.Document.DependencyInjectionService.Resolve[T]()
   at Microsoft.Mashup.Host.Document.ClientConfig.ClientConfigManager..ctor()
   at Microsoft.Mashup.Host.Document.ClientConfig.ClientConfigManager.get_Instance()
   at Microsoft.Mashup.Client.Excel.AddIn.Extensibility.IDTExtensibility2.OnDisconnection(ext_DisconnectMode disconnectMode, Array& custom)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...