在「盤後資料.bat」 中輸入以下程式碼,注意副檔名要為「.bat」或「.cmd」。
@echo off ::自行輸入圖片檔產生的路徑 set folderpath="自行輸入圖表路徑" if not exist %folderpath% ( echo 沒有 %folderpath% 目錄 goto exit ) ::設定 程式間執行間隔秒數 set delaysec=5 ::使用WMI找出 Microsoft Office Excel 安裝路徑 For /F "tokens=1-5 delims=\." %%i in ('wmic product get InstallLocation^,Name^,Version^| findstr /C:"Microsoft Office Excel"') do ( For /F "tokens=1-2 delims=))" %%a in ("%%l") do ( For /F "tokens=1-2 delims= " %%d in ("%%b") do set excelpath=%%i\%%j\%%k\Office%%e ) ) if "%excelpath%"=="" echo 找不到 Microsoft Office Excel 安裝路徑 && goto exit set path=%Path%;%excelpath% :execExcel echo =========================================== echo 執行 指數與外資買賣.xlsm excel.exe "%folderpath:"=%\指數與外資買賣.xlsm" timeout %delaysec% echo =========================================== echo 執行 八大行庫.xlsm excel.exe "%folderpath:"=%\八大行庫.xlsm" timeout %delaysec% echo =========================================== echo 執行 散戶比重.xlsm excel.exe "%folderpath:"=%\散戶比重.xlsm" timeout %delaysec% echo =========================================== echo 執行 台指與換倉成本.xlsm excel.exe "%folderpath:"=%\台指與換倉成本.xlsm" timeout %delaysec% echo =========================================== echo 傳送盤後資料到 Line Notify python %folderpath%\sendMsgtoLine.py echo ============= 盤後資料傳送完成 ============= :exit echo 執行結束!!!!!或是
@echo off ::啟用延遲環境變數 setlocal enabledelayedexpansion ::自行輸入圖片檔產生的目錄 set folderpath="自行輸入圖表路徑" if not exist %folderpath% ( echo 沒有 %folderpath% 目錄 goto exit ) ::設定 程式間執行間隔秒數 set delaysec=5 ::使用WMI找出 Microsoft Office Excel 安裝路徑,使用for分割字串 For /F "tokens=1-5 delims=\." %%i in ('wmic product get InstallLocation^,Name^,Version^| findstr /C:"Microsoft Office Excel"') do ( For /F "tokens=1-2 delims=))" %%a in ("%%l") do ( For /F "tokens=1-2 delims= " %%d in ("%%b") do set excelpath=%%i\%%j\%%k\Office%%e ) ) if "%excelpath%"=="" echo 找不到 Microsoft Office Excel 安裝路徑 && goto exit set path=%Path%;%excelpath% ::設定檔案數 set filecount=4 set excelfile[0]=指數與外資買賣.xlsm set excelfile[1]=八大行庫.xlsm set excelfile[2]=散戶比重.xlsm set excelfile[3]=台指與換倉成本.xlsm ::執行 Excel產生盤後資料圖表 set /a filecount=%filecount%-1 for /l %%i in (0, 1, %filecount%) do ( echo =========================================== echo 執行 !excelfile[%%i]! excel.exe "%folderpath:"=%\!excelfile[%%i]!" timeout %delaysec% ) echo =========================================== echo 傳送盤後資料到 Line Notify python %folderpath%\sendMsgtoLine.py echo ============= 盤後資料傳送完成 ============= :exit echo 執行結束!!!!!Excel VBA使用自行開發的爬蟲與產生分析圖表檔案。
- 指數與外資買賣.xlsm
- 八大行庫.xlsm
- 散戶比重.xlsm
- 台指與換倉成本.xlsm
以上的內容串接起來,只要執行Bath file檔案就能完成盤後資料傳送,當然各位讀者可以在Windows的工作排程中,添加一個每日下午3點的排程工作,負責執行檔案,這樣就能夠每天於盤後收到盤後資訊。
執行畫面:
參考資料: