Pythonで時系列データ取得(NASDAQ)

ライブラリインストール

py -m pip install pandas-datareader

nas.py

# =================================================
#           ライブラリ
# =================================================
import pandas_datareader.data as web

# =================================================
#           メイン
# =================================================

# 株価情報取得(NASDAQ指数)
stock_price = web.DataReader("^IXIC","yahoo","2000/1/1","2022/7/7")

# PandasデータフレームをCSVで出力
stock_price.to_csv("stock_price.csv")

ネタ元

note.com
optrip.xyz

VBAでCSVファイルをシートへ読み込む

Option Explicit

Sub sample()

    '読み込むCSVファイル
    Const CSV_FILE As String = "C:\Users\user\Desktop\sample.csv"
    'CSVファイルを読み込むシート名
    Const CSV_SHEET_NAME As String = "csv"
    
    Dim sheet As Worksheet
    Dim csvSheet As Worksheet
    
    '既にシート「csv」が存在する場合は削除
    For Each sheet In ThisWorkbook.Worksheets
        If sheet.Name = CSV_SHEET_NAME Then
            '確認メッセージを非表示
            Application.DisplayAlerts = False
            'シート削除
            Worksheets(CSV_SHEET_NAME).Delete
            '確認メッセージを表示
            Application.DisplayAlerts = True
        End If
    Next
    
    'シート「csv」を新規作成
    Set csvSheet = Worksheets.Add(After:=Worksheets(Worksheets.Count))
    csvSheet.Name = CSV_SHEET_NAME

    '「QueryTableオブジェクト(=クエリと接続)」を作成
    With csvSheet.QueryTables.Add(Connection:="TEXT;" + CSV_FILE, _
                                              Destination:=Range("B2"))
        '区切り文字に「カンマ区切り」を指定
        .TextFileCommaDelimiter = True
        '文字コードに「UTF-8」を指定
        .TextFilePlatform = 65001
        '読み込み開始行を指定
        .TextFileStartRow = 1
        '読み込むファイルの1~3列目の形式に「文字列」を指定
        .TextFileColumnDataTypes = Array(xlTextFormat, xlTextFormat, xlTextFormat)
        '読み込み実行
        .Refresh BackgroundQuery:=False
        '作成された「QueryTableオブジェクト(=クエリと接続)」を削除
        .Delete
    End With
    
End Sub

ネタ元

excel-vba.work

VBAからPowerShell実行

sPS1Path = "ファイル.ps1"

Call ExecPowerShell(sPS1Path)

' PowerShellの実行(Execコマンド使用バージョン)
Private Function ExecPowerShell(cmdStr As String) As String
 
    ' WshShellオブジェクト
    Dim oExec As Object
 
    ' Execコマンドで実行する
    '  -NoLogo                          著作権の見出しを出さない
    '  -ExecutionPolicy RemoteSigned    実行権限を設定
    '  -Command                         コマンド引数(これ以降にPowerShellのコマンドレット構文を記載)
    Set oExec = CreateObject("Wscript.shell").Exec("powershell -ExecutionPolicy Unrestricted -File " + cmdStr)
     
    ' ジョブが実行中(0)の間は、スリープしながら完了(1)まで待つ
    Do While oExec.Status = 0
        ' 100ミリ秒
        Sleep 100
    Loop
 
    ' 標準出力取得
    ExecPowerShell = oExec.StdOut.ReadAll
 
End Function