Excel VBA 質問スレ Part83 (628レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

400
(2): デフォルトの名無しさん [sage] 2025/07/15(火) 11:19:52.18 ID:IENqpxZQ(1/2) AAS
毎日夜中の定刻に、気象庁Webサイトの2つのページからcsv落として月次集計する、
マクロとPowerQuery使った2×2の4つのブックを
VBS(例:以下)とタスクスケジューラーを使ってやらせてるんだけど、
いい加減、VBS部分を乗り換えるとしたら、
何がとっつきやすいのかな?
PowerShell?
PowerAutomate?
Python?

---例:DLブックを実行させるVBS---
Const WB_PATH = "E:\集計\01_DLファイル\DLブック_地点A.xlsm"
Const PROC_NAME = "DL_Ref"
Dim excelApp
Set excelApp = CreateObject("Excel.Application")
With excelApp
.Visible = False
Dim wb
Set wb = .Workbooks.Open(WB_PATH)
.Run wb.Name & "!" & PROC_NAME
.DisplayAlerts = False
wb.Close
End With
excelApp.Quit
405
(1): デフォルトの名無しさん [sage] 2025/07/15(火) 13:45:04.50 ID:IENqpxZQ(2/2) AAS
>>401,403
401(1): デフォルトの名無しさん [sage] 2025/07/15(火) 11:31:18.20 ID:izh84eSC(1) AAS
>>400
**PowerShell**がおすすめです。

理由:

- VBSに最も近い書き方
- Excelの操作がそのまま使える
- Windowsに標準搭載
- 学習コストが低い

移行例:

```powershell
$excel = New-Object -ComObject Excel.Application
$excel.Visible = $false
$wb = $excel.Workbooks.Open("E:\集計\01_DLファイル\DLブック_地点A.xlsm")
$excel.Run("DL_Ref")
$wb.Close()
$excel.Quit()
```

PythonやPower Automateは学習コストか制約があるので、PowerShellが無難です。​​​​​​​​​​​​​​​​
403(1): デフォルトの名無しさん [sage] 2025/07/15(火) 11:52:00.35 ID:1v3q9PKm(2/2) AAS
PowerShellは遅くてびっくりするのと
COM(IDispatch)経由の操作なので基本的に書き方はvba/vbsを踏襲する
普通に使うと割とつまらない
ありがとう。やってみる。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.034s