在「盤後資料.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點的排程工作,負責執行檔案,這樣就能夠每天於盤後收到盤後資訊。
執行畫面:
參考資料: