У меня есть командный файл, который вызывает .xlsm
, доступ и sqlcmd
.
Я запланировал командный файл в планировщике задач на каждый день.
- Когда мы использовали Windows 7 на компьютере, он работал отлично.
- После обновления до Windows 10 в большинстве случаев он перестает работать после открытия .xlsm .
- Командная строка windows открывается, но ничего не происходит.
Ошибка не в макросе, потому что на другом компьютере (с Windows 7) он работает отлично.
Сначала я попробовал этот код в своем командном файле:
"\\xy\Foldername\KillExcel.bat"
"\\xy\Foldername\SpoolfileConvert.xlsm"
sqlcmd -S servername -d SCM -i "\\xy\Foldername\DeleteTable.sql" -o "\\xy\Foldername\DeleteTable.txt"
"\\xy\Foldername\UploadData.accdb"
sqlcmd -S servername -d SCM -i "\\xy\Foldername\Data_cleaning.sql" -o "\\xy\Foldername\Data_cleaning.txt"
Спасибо за информацию, я попробовал следующий код.
Я удалил из своего кода все ненужные команды вызова. Оставил первый, потому что он вызывает другой пакет.
call "\\xy\Foldername\KillExcel.bat"
start "Excel" /wait /min Excel.exe "\\xy\Foldername\SpoolfileConvert.xlsm"
sqlcmd -S servername -d SCM -i "\\xy\Foldername\DeleteTable.sql" -o "\\xy\Foldername\DeleteTable.txt"
start "Access" /wait /min MSACCESS.exe "\\xy\Foldername\UploadData.accdb"
sqlcmd -S servername -d SCM -i "\\xy\Foldername\Data_cleaning.sql" -o "\\xy\Foldername\Data_cleaning.txt"
Excel и Access закрываются автоматически. Но sqlcmd не должен запускаться до завершения sh процесса Excel и Access.