2019年9月16日 星期一

[VBA] 利用VBA與工作排程器自動更新EXCEL報表

因為工作需要,接到了幾個報表需要每天手動更新,由於剛交接常忘記不斷地被提醒,所幸弄了一個VBA自動開啟檔案->更新->儲存,再放到windows的工作排程器中每天固定時間幫我更新報表。



首先新增一個記事本,把附檔名直接改成.vba,以下是vba裡面的程式碼

Dim App, Book, Sheet

Set App = Wscript.CreateObject("excel.application")//讀取excel api

Set Book = App.workbooks.Open("D:\Example.xls")//這裡是檔案路徑,這次把檔案放D槽

Book.RefreshAll//重新整理

Book.Save//存檔

Book.Close (False)//關閉檔案,false表示關閉不存檔

App.Quit

Set App = Nothing

複製進去後存檔關閉,接著到左下角搜尋"工作排程器",或是在控制台->系統與安全性->系統工具->排程工作,打開後選擇"建立基本工作"

輸入這項排程的名稱及敘述

接著設定多久執行排排程一次

設定執行時間

選擇啟動程式,選擇上面的VBA檔

都設定完成後就可以等時間到確認有沒有自動更新囉~



如果您喜歡我的文章,請在文章最末按5下Like!
我將得到LikeCoin的回饋:)

回饋由LikeCoin基金會出資,您只要註冊/登入帳號(FB、Google帳號都可以註冊,流程超快),按L五次左鍵,可以贊助我的文章且完全不會花到錢!
支持創作,正向交流:)

4 則留言:

  1. 你好,我副檔名設.vba,但在執行的時候會跳出叫我選擇開啟的程式,便無法執行(我的電腦是win10 64位元),請問要安裝什麼軟體嗎?

    回覆刪除
    回覆
    1. 你好喔,如果你還沒解決的話,請你附檔名設定vbs看看,如果可以執行了在麻煩妳回覆我一下,我好做修改,謝謝~

      刪除
    2. Hi,副檔名改為vbs就可以了,感謝~

      刪除
  2. 請問排程執行時出現以下錯誤訊息,要如何解決呢? 再麻煩大大協助,感恩!

    Script: c:\backup\event.vbs
    行: 2
    字元: 53
    錯誤: 語法錯誤
    程式碼: 800A03EA
    來源: Microsoft VBScript編譯階段錯誤

    回覆刪除