Learning Note

できるようになったことを記録しています

入力系

2列のCSVファイルを列ごとに別配列へ取り込む

拡張モジュールのnumpyとか使えばもっとスマートにできるのかも。

CSVファイルを1行ずつ配列へ取り込む

読み込んだCSVファイルを1行ずつappendで配列へ取り込んでいる。appendの代わりにextendを使う方法もあるが、違いは以下の通り。 append リストオブジェクトそのものを追加 [["A"],["B"],["C"],["D"],["E"]] extend リストの最後に追加 ["A", "B", "C", "D",…

CSVファイルを1行ずつ読み込む

csvモジュールのreader関数で読み込みます。読み込んだデータをfor文で1行ずつ出力しています。

指定したテキストデータを一行ずつ配列に取り込む

指定したテキストデータを一行ずつ配列データに取り込む関数。 使用例 Sub Main() Dim lineTxt As Variant lineTxt = ImportTxt("C:\bin\test.txt") End Sub

指定したフォルダ以下の指定した種別ファイルパスを取得する

指定したフォルダの下位フォルダも再帰処理で検索対象とする関数。ポイントはStatic変数。再帰処理でDimを使うと消えてしまうので。 使用例 Sub Main() Dim filePath As Variant filePath = RecursionFile("C:\bin", "*.xlsx") End Sub

指定したフォルダから指定した種別のファイル名を取得する

Dir関数で指定フォルダの指定した種別のファイル名を取得する関数。配列の最後にブランクのデータが出来てしまうため、Loop終わりでもReDimしている。もっとスマートなやり方がないものか。 使用例 Sub Main() Dim fileName As Variant fileName = SearchFil…

ダイアログボックスで指定したExcelBookを開く

ExcelBookを開くにはWorkbooks.Openを使用する。書式 Workbooks.Open Filename:=開くBookのパス, ReadOnly:=False 開くBookのパスは直接記述しても良いが、先日の書いた"ダイアログボックスで指定ファイルのパスを取得する関数"を使うと汎用性が高まる。 kon…

ダイアログボックスで指定したフォルダのパスを返す

ダイアログボックスで指定したフォルダのパスを返す関数。 使用例 Sub Main() Dim folderPath As String folderPath = DecideFolder() If folderPath = "" Then Exit Sub End Sub

ダイアログボックスで指定したファイルのパスを返す

ダイアログボックスで指定したファイルの絶対パスを取得して返す関数。 使用例 Sub Main() Dim filePath As String filePath = DecideFile() If filePath = "" Then Exit Sub End Sub