Excelの指定範囲を高速に2次元配列に追加したい
Excelの指定範囲を高速に2次元配列に追加したいです。
ヒント/アドバイスをいただけますか。
- このライブラリをがっちゃんこしてみれば?
- こんな10行VBSを見つけたよ!
- 要するにこうしちゃえばいいんじゃない?
いずれもウェルカムです。
現状
- Excelを2次元配列にブチ込むのに、スイートライブラリを使用中
Excel操作(指定範囲の値を配列に追加)
https://winactor.biz/sweet/2021/03/15_3827.html
関連スレッド
https://winactor.com/questions/question/スマートな指定xpath一括処理が3つめ以降でエラー/
使用状況
- 5列×20行程度(最大100行程度)
- 1シナリオにつき1Excelファイル
- 入力規則とか、ExcelのUIは使い続けたい
- 通常は3シートくらい使用(最大10シート程度使う可能性あり)
欲張りなニーズ
- 「Excel操作(指定範囲の値を配列に追加)」はExcelが開かれるのが玉にキズ
- せっかく高速な配列のライブラリなのに、Excelを開くところで僅かにもたつく
- Excelを開かずに、たとえばCSV経由で配列にブチ込むことで、もたつきを抑えられないか
- 「2次元配列操作(csv読み込み)」に繋げる想定
https://winactor.biz/sweet/2021/12/20_4959.html
試したこと
- Excel操作(CSV形式で保存):予めファイルを開いておく必要がある、、
- Excel操作(CSV・TSV形式で保存):開いてなければ開かれる、、
ネットで見つけたVBS
Excel シートを CSV でエクスポートする VBScript
https://qiita.com/kumazo/items/ba0332fe4b8823f14b6a
VBSを試した所感
- ジャストなアウトプット
- フォルダ内にファイルが生成される仕様は、頑張ればカスタムできるかも
- Excelが開かれることはなかった
- 所要時間はライブラリと大差なし
- 「2次元配列操作(csv読み込み)」が続く分、「Excel操作(指定範囲の値を配列に追加)」より余計に時間がかかるはず
- これが限界なのかも
希望のまとめ
- Excelの指定範囲を
Excelを開かずに(OR/AND)CSVを経由せずに
高速に2次元配列に追加したい
もしくは
- 「Excel操作(指定範囲の値を配列に追加)」をExcelを開かない仕様にカスタムしたい
- ※ ScreenUpdatingの効果が及ぶ範囲ではないのかも
思いつき
- 別ファイルのマクロから、目的のファイルの指定範囲を2次元配列に追加できるとしたら、、
しくみ検討のコストが高くつきそう、、 - ※ WinActorの配列のノウハウやライブラリは、以前に興味を持ったときより、今のほうがが格段に充実してる
https://winactor.com/questions/question/配列の敷居を低くし隊/ - わたしだけで足掻いても、Excelを開いて配列に入れること以上の方法は見出せそうもない
anothersolution 編集済みのコメント
回答とコメントは、会員登録(無料)で閲覧できるようになります。
新規登録