2016-12-29 28 views
0

我有一個Excel工作簿,帶有Workbook_Open宏,可以打開其他工作簿並刷新電源查詢和電源支持中創建的連接。此工作簿每天上午7:30由任務計劃程序打開。Excel VBA電源查詢任務計劃程序打開

問題是,當任務sheduler打開工作簿時,它會在Power Query和Power Pivot可以正常加載之前運行宏,並且在某些情況下連接刷新會引發錯誤,指出「Microsoft.Mashup.Oledb.1未註冊」。

當我手動打開工作簿時,一切正常。當我在任務運行之前打開Excel時,它也可以工作,因爲這些插件已經加載完畢。

有沒有一種方法可以告訴excel首先加載Power Query和Power Pivot,然後執行代碼的其餘部分?

我也試着第一reaload所有加載項:

For Each CurrAddin In Excel.Application.AddIns 
    If CurrAddin.Installed Then 
     CurrAddin.Installed = False 
     CurrAddin.Installed = True 
    End If 
Next CurrAddin 

但是,這似乎並沒有在這裏工作。

非常感謝您的任何想法。

回答

0

根據您對問題的描述,在Task Scheduler中打開此工作簿之前,如何從Task Scheduler啓動Excel?感謝

0

在您的模塊的頂部添加此:

Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) 

然後,在Workbook_Open函數的開頭添加

Application.DoEvents 'optional 
Sleep(5000) ' or 10000 for 10 seconds 
Application.DoEvents 'optional  
相關問題