Excel vbaでシート一覧とグラフ一覧を取得する
実行するとアクティブシートの1行目にラベル、2行目以降に各シートのグラフ名を列挙します。
A列 Sheet Name シート名
B列 Graph Name グラフ名(カンマ区切り)
C列 paste1.txt(全部同じ)
D列 PageDown 1(全部同じ)
E列 Comment シート名
Excel vbaでシート一覧とグラフ一覧を取得する
実行するとアクティブシートの1行目にラベル、2行目以降に各シートのグラフ名を列挙します。
A列 Sheet Name シート名
B列 Graph Name グラフ名(カンマ区切り)
C列 paste1.txt(全部同じ)
D列 PageDown 1(全部同じ)
E列 Comment シート名
Pythonを使って下記を行います。
・二次元配列(100x2)の値を間引く
・二次元配列(10x2)の値を第0列の値で昇順にソート
・二次元配列をx,yの散布図と考えて、1次、2次、5次の多項式近似で近似曲線を作成
・各近似式の決定係数R2を求める
numpyが必要
=========
Pythonを使ってグラフを読み取ります。作りかけです。
・グラフの枠の座標を取得する
・グラフの枠内を白く塗りつぶす
・軸の数字と座標を認識する
グラフデータの読み込みや画像の座標からグラフの数値への変換は未実装です。
pillow、pyocr、Opencv、Tesseract、numpyが必要です。
Chat-GPTに教えてもらいました。あいつ凄いな。
vbaで散布図に系列を追加する
系列の順序を指定したい場合、非表示の系列(.IsFiltered = True)があるとPlotOrderが機能しないので.Formulaプロパティで順序を指定することにしました。Formulaプロパティの操作はエラーがおきやすいので注意。withを使ったほうが速いらしいのでwithを入れました。
pptでフォルダ内のjpegファイルをpptの各ページに貼り付ける。
pythonでサブフォルダ[rename]内のすべてのファイルについて、ファイル名先頭の数字(アンダーバー区切り)を3桁で0埋めしてリネーム
pythonでtouchstone file をde-embedする。
ドラッグアンドドロップや引数での処理に対応したいけどpathの処理がうまく理解できず、残課題です。
VBAでcsvファイルを開く
QueryTableで開くと速いという記事を見つけたので試してみた。別に早くない。区切り文字が決まっているならline inputで1行づつ読んでsplitして配列に入れて貼り付けるほうが早い。
sub open_csv()
Dim msh, fname
fname ="C:\local\test.csv"
msh ="test"
Sheets.Add(After:=Sheets(Sheets.Count)).Name = msh
Set ws = Sheets(msh)
Set qt = ws.QueryTables.Add(Connection:="TEXT;" & fname, Destination:=ws.Range("A1"))
With qt
.TextFilePlatform = 932 ' 文字コードを指定
.TextFileParseType = xlDelimited ' 区切り文字の形式
.TextFileCommaDelimiter = True ' カンマ区切り
.RefreshStyle = xlOverwriteCells ' セルに上書き
.Refresh ' データを表示
.Delete ' CSV との接続を解除
End With
End Sub
Excel VBAで複素数の計算
vbaで複素数を扱う場合、WorkSheetFunctionを使うより自分で関数を作ったほうがかなり速い。
vbaでSパラメータを処理するときのフォーマット変換とk値やMAGの算出