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のクエリ接続 更新の完了待ち方法
Webクエリの外部データ範囲プロパティには、「バックグラウンド更新を有効にする」などのチェックボックスがあります。このチェックボックスをオフにして、目的の効果を実現します。
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
ExcelVBA 確認無しで上書き保存
'警告メッセージを表示しない Application.DisplayAlerts = False ActiveWorkbook.Save '警告メッセージを表示 Application.DisplayAlerts = True
PHPでURL指定で直接サーバーに画像等をダウンロードする方法
$data = file_get_contents($value); file_put_contents('./download/'.$filename,$data);
ネタ元
WADAXのPHPのパス
/usr/local/bin/php
ネタ元
STEPNの画面上の情報をOCRで取得する方法(簡易版)
・Reflector4などでiPhoneの画面をPC上に表示させる
・Githubの https://github.com/skipiano/STEPN からpythonコード取得
・実行して足りないモジュールはpipでインストール
・Tesseract OCR をWindowsにインストールする必要あり。PATHも通す必要あるよ
・自分の画面に合わせてim.crop()の引数を調整
ExcelVBAで行って時間後に消えるダイアログ
宣言はこちら
Private Declare PtrSafe Function CustomTimeOffMsgBox Lib "user32" Alias "MessageBoxTimeoutA" ( _ ByVal xHwnd As LongPtr, _ ByVal xText As String, _ ByVal xCaption As String, _ ByVal xMsgBoxStyle As VbMsgBoxStyle, _ ByVal xwlange As Long, _ ByVal xTimeOut As Long) _ As Long
使い方
If CustomTimeOffMsgBox(0, "キャンセルボタンを押さないと5秒後に処理が動作します。", "カウントダウン", vbInformation + vbOKCancel, 0, 5000) = vbCancel Then 'Cancel Else 'ここに処理書く End If
CoinGekoからExcelで仮想通貨の現在値取得
- 取得したい通貨のCoinGekoページを表示してapi idを取得 ここではBNB
- CoinGekoのAPIドキュメントのページを開く
- 「coins/markets」を探して「Try it out」クリック
- vs_currencyの欄に何ベースの価格が欲しいか指定。円ならjpy、ドルならusd
- idsに取得したい通貨のapi idをカンマ区切りで入力 ここではBNB bGST GMT
- Executeボタンをクリック
- Responsesにそれっぽいデータが受信できてればOK
- Request URLをコピーする
- Excelを開き、データ>webから を選択。コピーしたURLを貼り付ける
- 「テーブルへの変換」をクリック
- これはそのままOK
- columnの横の小さいボタンをクリックして出力したい列だけ選択。current_priceが現在値。OKする
- 「閉じて読み込む」をクリック
- 取得できました。