PADとpowershell連携

735 Views

January 27, 25

スライド概要

PADとpowershell連携方法について

CSVをPADとpowershellを利用してほしいところを抽出する方法になります。

profile-image

powerユーザです

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

自己紹介 ・冨田と申します。 愛知県内で大学職員(非IT部門)として働いています。 ・X:@tomita1000 ・業務で利用しているもの Excel Power Automtate for Power Automtate PowerShell DOS Desktop ・ 業務で利用しないが、使えるもの UiPath Access ・現在習得中のもの GAS Python…2025年は巳年のため、蛇使いを目指して習得中 1

2.

本日の副題 ( ver.2) 2

3.

各ツールに得意なことを任せて対応 Power Automate Desktop …全体の起動スイッチ 前回の内容 Excel(Power Query) …データの成型 Excelマクロ …Excel(Power Querry)の結果の書出し 3

4.

【問題点】Powerに力がないに力がないこと が実務では発生】 Excel(Power Query) …データの成型 • Excel(PowerQuery)の限界がある。 基幹システムから抽出時にフィルター抽出ができない場合、大量 のデータを一度に扱うことになります。 また、PowerQueryの編集時には各ステップ毎に動くため、確認 の都度処理をすることになるので作業が重たくなります。 4

5.

Powerに力がないに力がないことが実務では 発生】 • 基幹システム側で抽出条件の指定があまりできず、 大量のデータが抽出される。 例:①人事システムから抽出したcsvファイル ②会計システムから抽出したcsvファイル そのまま①②をマージすると力不足が発生 利用する頻度が高いマスタは必要な列だけにしておくと 快適になる。 5

6.

登壇タイトル PADとPowerShell 連携 6

7.

今回対応する内容 7

8.

Powerが Powerに 力を与える PowerShellでExcel(PowerQuery)が扱え るサイズまでPowerShellでデータを小さ くしてあげる。 8

9.

残したい列のみにする場合 # 入力CSVファイルのパス $inputCsv = “元ファイルのCSVパス" # 出力CSVファイルのパス $outputCsv = “出力先のCSVパス" PSコード # CSVを読み込む $csvData = Import-Csv -Path $inputCsv -Encoding UTF8 # 残したい列を指定して、新しいオブジェクトを作成 $selectedColumns = $csvData | Select-Object 〇〇, ××, ▲▲ # 結果を新しいCSVファイルに書き出す $ selectedColumns | Export-Csv -Path $outputCsv NoTypeInformation -Encoding UTF8 注意点CSVファイルの文字化けがないか 初回は必ず確認(文字化けする場合はエンコードを確認) 9

10.

子フロー側の設定 10

11.

親フロー側の設定 11

12.
[beta]
残したい列および特定の列でフィルタをかける場合
# 入力CSVファイルのパス
$inputCsv = “元ファイルのCSVパス"
# 出力CSVファイルのパス
$outputCsv = “出力先のCSVパス"

PSコード

# CSVを読み込む
$csvData = Import-Csv -Path $inputCsv -Encoding UTF8
# 残したい列を指定して、新しいオブジェクトを作成
$selectedColumns = $csvData | Select-Object 〇〇, ××, ▲▲
# 条件に合う行だけをフィルタリング (例: ××が“愛知県"に等しい)
$filteredData = $selectedColumns | Where-Object { $_. ×× -eq “愛
知県" }
# 結果を新しいCSVファイルに書き出す
$filteredData | Export-Csv -Path $outputCsv -NoTypeInformation Encoding UTF8

注意点CSVファイルの文字化けがないか
初回は必ず確認(文字化けする場合はエンコードを確認)

12

13.

子フロー側の設定 13

14.

親フロー側の設定 14

15.

作成時に手間 どった箇所 PADで利用できるパワーシェルのバー ジョンが5.1のため(現在は7.3)エン コードを明示的に指定する必要がありま した。 15

16.

まとめ • 今回紹介した内容はExcelのPowerQueryやPower Pivotで対応 できないデータ量を扱う際に利用している方法です。 事務の場合、日常利用がExcelという職場も多いかと思います。 Accessを含め、データベースソフトを利用すればよいのです が、引継を考えるとどうしても二の足を踏むことがあるかと思 います。 スクリプトを記述するのは難しい面もあるため、今回のように PADの入出力変数を利用して他のフローから呼び出すのも一つ の手段かと思います。