F0000056_ファイルダイアログを開き、選択させたcsv・Excelファイルに含まれる表を取得し配列に格納する

ファイルダイアログを開き、選択させたcsv・Excelファイルに含まれる表を取得し配列に格納する 関数リファレンス

この関数について

ファイルダイアログを立ち上げユーザーにファイルを選択させたあと、各ファイルを開き、各シートの表を取得、配列に格納するという処理が個人的に多かったのでこの関数を作成しました。基本的には当サイトで紹介している他の関数の組み合わせで実現できる内容であり、そのためにいざ使用する場面がきたとしてもこの関数の存在を忘れており、関数の組み合わせで実現してしまう・・そういう関数です。

関数コピペ ~コードをクリックするだけでコピー完了!~



使い方 ①引数

引数名参照省略内容
dialog_titleStringByValファイルダイアログに表示するタイトルを指定できます。
initial_folderStringByValファイルダイアログを立ち上げた場合の初期表示フォルダを指定できます。
sheet_indexLongByVal選択したファイルをExcelで開いたときに表が格納されているシートの先頭からの番号
header_rowLongByValシートに入力されている表のヘッダー位置を行番号で指定します。デフォルトは「1」
header_inportBooleanByVal表のヘッダーを取得するかどうかを指定できます。True・・取得する False・・取得しない デフォルトは「False」
first_colLongByVal取り込む表の先頭列を指定できます。例)1列目⇒「”A”」、3列目⇒「”C”」 デフォルトは「”A”」
primary_colLongByVal取り込む表の主キーを指定できます。指定方法は「first_col」と同じです。この列に入力されているデータ数を数えて表の行方向のサイズを判定します。デフォルトは「”A”」
var_type_codeLongByVal返される配列の型を「VbVarType」で指定する。指定できる型は「CastArrayVariantToAnyting」関数に依存します。デフォルトはVariant型
base_indexLongByVal返される配列のBase(開始の要素番号)を指定できる。デフォルトは「1」

使い方 ②戻り値

状態内容
正常Variantすべての表を取得・結合した配列を返します。
例外Variant例外は想定されていません。
エラーVariantエラー処理は想定されていません。

サンプルコード(クリックでコピー)






【結果】ユーザーが選択したファイルからすべての表を取得できました

サンプルコードを実行するとファイルダイアログが立ち上がり、ユーザーが選択したファイルに含まる表をすべて取得・配列に格納し、配列の要素数をイミディエイトウィンドウに出力します。

関数リファレンスにはコピペで使用可能な便利関数を多数掲載!

関数リファレンスでは私が開発の中で必要になったコード部品を汎用化・関数化して公開しています。この記事で紹介した関数以外にもコピペで利用できる関数を多数用意しています。検索窓から必要な機能を検索してみましょう!解説記事も続々公開中。
当サイトで公開している関数はすべて下記ライセンスのもとで配布しています。
Copyright (c) 2024 VBA.funcref
Released under the MIT license

The MIT License
Copyright Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated d...

Comment