●PSHメモ帳の応用編でPC利用の快適性をアップ
その3応用編では「PSHメモ帳」を使ったパソコン利用の快適性アップの事例を紹介していきます。この記事では主に式計算、表(風)計算の利用例を紹介します。(このサイトのgoogle検索数がまったくのためタイトル記載方法を改善してみました。[ https://ryupapa008.blogspot.com ] 普及にご協力いただくと幸いします。)
今回、PSHメモ帳に次の4つの機能を追加します。
(1)式計算、表風計算を便利に使う...[ &&& ssKeisan '式列' ]
(2)自動キー入力:ID、パスワード、データ入力で便利..[ &&& ssKeyAuto 'データ' ]
(3)グラフ表示:googleの綺麗で沢山の例を使う...[ &&& ssGraf $zz1 $zz2 $zz3 ]
(4)株の表示( Webサイトの連続一括表示の例)...[ &&& ssKabView $zz1 $zz2 ]
(2)自動キー入力:ID、パスワード、データ入力で便利..[ &&& ssKeyAuto 'データ' ]
(3)グラフ表示:googleの綺麗で沢山の例を使う...[ &&& ssGraf $zz1 $zz2 $zz3 ]
(4)株の表示( Webサイトの連続一括表示の例)...[ &&& ssKabView $zz1 $zz2 ]
進む>
下記のコピペListから次のファイルを作成し[wGuiPsh2]のフォルダへ上書き保存ください。
- [コピペList3.1.1]-->[wndPshPrg201_usr.ps1]機能追加
- [コピペList3.1.2]-->[wPshKeisan101.txt]この記事内容
★この記事を最初に閲覧される方は「2.7」「2.8」で「PSHメモ帳」を作成する必要がありますのでご参照ください。
★注:Windowsメモ帳で[名前を付けて保存]とのき、文字コードを[ANSI]設定のこと。
PSHメモ帳[wPshMemo201.bat]をダブルクリックし[wPshKeisan101.txt]を次の操作で表示ください。
[File表示]ドラッグ&ドロップ or [TopPage]に登録して[WC]([ファイル]->[TopPage編集])
[図3.1.1] [TopPage]への登録例
&FSet& wPshKeisan101.txt ##★[WC]PSH式表計算+α
&FSet& wPshKeyAuto101.txt ##★[WC]PSH自動キー入力
&FSet& wPshGraf101.txt ##★[WC]PSHグラフ表示1(おもしろ+実用編)
&FSet& wPshGraf201.txt ##★[WC]PSHグラフ表示2(折れ線/曲線/散布/面/階段/バブル)
&FSet& wPshGraf301.txt ##★[WC]PSHグラフ表示3(縦棒/横棒/複合/円/他)
&FSet& wPshKeyAuto101.txt ##★[WC]PSH自動キー入力
&FSet& wPshGraf101.txt ##★[WC]PSHグラフ表示1(おもしろ+実用編)
&FSet& wPshGraf201.txt ##★[WC]PSHグラフ表示2(折れ線/曲線/散布/面/階段/バブル)
&FSet& wPshGraf301.txt ##★[WC]PSHグラフ表示3(縦棒/横棒/複合/円/他)
●式計算、表風計算の例(PSHメモ帳窓での操作)
今回は、式計算、表風計算例の紹介でした。ご参考になれば幸いします。一方、[wPshKeisan101.txt ]には「自動キー入力」「グラフ表示」「株表示」のサンプルを動作確認用として付加しています。次にその画面を添付しておきます。その3.2以降の紹介を予定します。
●自動キー入力のサンプル(もう少し色々できます。)
●グラフ表示の例(10件以上紹介予定です。)
今回作成の[wPshKeisan101.txt]画面の下のほうにグラフ表示を2件記載してます。次の行をダブルクリックすると表示されます。これはgoogleチャートをアクセスして表示します。結構、綺麗で種類も沢山あります。この8割以上がPSHメモ帳でコントロールできるようになります。
&&& $zType="BarChart"; ##★[WC]
&&& $zType="LineChart"; ##★[WC]
●株表示の例(ご興味のある方向けです。)
PSHメモ帳は、こんなこともできるというコマーシャル的な部分の紹介です。次の行をダブルクリックしてください。
&&& ssKabView !KdoraCha '4356+9501+4882+9348+3064'; ##★[WC]
なお、本格利用をお考えの方は、その2.4の方がいろいろ使えて便利です(その2.4のアクセス数が数人ですが、多くなればレベルアップ版も考えてみます。)
●コピペ[List3.1.1] -> [wndPshPrg201_usr.ps1] 機能追加
★V1.52: 0908:Glaf zColum zPrg zBody に対応(32,41,42行目)
★V1.53: 0924:'Sankey','Calendar','WordTree','TreeMap' を登録(43行目)
#V1.53 2024/0905 by ryu
##●●PSHメモ帳:機能追加その2
##★ファイル編集
$global:szMnBas=$szMenu11; (ssDMnMSet "[<usr編集>]" ).add_Click({ & $szEditor $fladd2 });
##★式表計算の処理[ ssKeisan zpam ]
##
function global:ssKeisan($zcmd ){ $zcmd=$zcmd; $dd0=$zcmd; $zcc0="`r`n"; $ss=0;
foreach($cc in ($dd0-replace("[=]","")).split(";`n") ){ ##★式分割
if($cc.startsWith("_") ){ $zcc0+="$cc`r`n"; continue;}; ##★!コメント行
$zcc0+=" "; if($cc.Contains("_") ){ $cc2=$cc.split("_"); $zcc0+=$cc2[0]+"_"; $cc=$cc2[1]; }; ##★
if($cc.length -ge 3 ){ $dd=Iex($cc); $ss+=$dd; $zcc0+="$cc = $dd`r`n"; }else{ $zcc0+="$cc`r`n";};
}; $zcc0+="合計= $ss"; (MsgBox $zcc0);
};
##★キー操作自動化の処理[ ssKeyAuto zpam ]
##
function global:ssKeyAuto($zcc0){
if((ssMsgYesNo "注" "[英]入力モードを確認し`nキー入力BOXをクリアし、[Y]釦押下し`n素早く入力BOXをクリック")-ne "Yes" ){ return;};
Start-Sleep -m 2500; $zcc0=$zcc0.replace("{T}","{TAB}").replace("{D}","{DELETE}").replace("{E}","{ENTER}");
foreach( $cc in $zcc0.split(";`n") ){ if($cc.length -lt 3){ continue; }; $zcc=$cc.trim();
if( $zcc.startsWith("@Wait") ){ $zdd=[int]($zcc.substring(6)); dbc("[Wait(s)] $zdd"); Start-Sleep -m ($zdd*1000); continue; };
if( $zcc.startsWith("@Stop") ){ $zcc1="送信継続は[Y]押下し素早く入力BOXをクリック`n停止は[N]をクリック";
if( (ssMsgYesNo "停止中" $zcc1)-ne "Yes" ){ return;}; Start-Sleep -m (2*1000); continue; };
[SendKeys]::SendWait("$zcc");
};
};
##★googleグラフの処理 [ ssGraf zType zOption zData zColum zPrg zBody]
##
function global:ssGraf($zType,$zOption,$zData,$zColum,$zAddProg,$zAddBody){ $szfile="$home\Desktop\gChart01.html";
$zcc0='<html><head><script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript"> google.charts.load("current", {packages:["@@Package"]});
google.charts.setOnLoadCallback(drawChart); var chart; var options; var data;
function drawChart(){ chart = new google.visualization.'+$zType+'(document.getElementById("chart_values"));
options='+$zOption+'; ';
if( $zData.startsWith("[") ){ $zcc0+='data =new google.visualization.DataView(
google.visualization.arrayToDataTable( '+$zData+' ) );' }
else{ $zcc0+='data =new google.visualization.DataTable(); '+$zData+'; ' };
$zcc0+=$zColum+';chart.draw(data, options); };'
$zcc0+=$zAddProg+';</script></head><body><div id="chart_values" ></div>'+$zAddBody+'</body></html>' ; $zcc1='corechart';
foreach($cc in 'AnnotationChart','TreeMap','Timeline','Table','VegaChart','GeoChart','Gauge','Sankey','Calendar','WordTree','TreeMap'){
if($cc -eq $zType){ $zcc1=$cc; break; }; }; $zcc0=$zcc0.replace('@@Package',$zcc1);
SC $szfile $zcc0; & $szfile; ##★Web.html起動
};
##★株表示の処理 [ ssKaView zKind zKabNo zUrl]
##
function global:ssKabView($zzcmd,$zzcc,$zzurl){
if($zzurl.length -gt 10){ $zUrl =$zzurl; if( $zzcmd -eq "!KabMany"){ Start ($zzurl.replace("@@@@",$zzcc )); return;}; }
else{
switch($zzcmd){
!KdoraCha{ Start ("https://www.kabudragon.com/s?t="+$zzcc ); return; }
!YahooNow{ Start ("https://finance.yahoo.co.jp/search/?query=$zzcc" ); return; }
!YahooCha{ $zUrl="https://finance.yahoo.co.jp/quote/@@@@.T/chart?";
$zUrl+="styl=lne&frm=mntly&scl=stndrd&trm=1w&evnts=&ovrIndctr=sma%2Cmma%2Clma&addIndctr=slwStchstc"; break; }
!KtanCha { $zUrl="https://s.kabutan.jp/stocks/@@@@/"; break; }
};
};
foreach( $cc in $zzcc.split("+") ){ if( $cc.length -ge 4 ){ Start ($zUrl.replace("@@@@",$cc)); Sleep -m 1000; }; };
};
[wndPshPrg201_usr.ps1]
●コピペ[List3.1.2] --> [wPshKeisan101.txt ] この記事内容
!# @BakColor:#c6ffff @FntSize:14 @WndSize:1320,740
<##Ver1.50--[PSHメモ帳の応用]------------------------------------------------
## [&]行ダブルクリック[WC] [&]PSH起動 [&&]窓無し [&&&]継続 [;]連結 [TopPage]へ戻る
## (1)式表計算......... ssKeisan '文字列'
## (2)自動キー入力..... ssKeyAuto '文字列'
## (3)グラフ表示....... ssGraf $zType $zOption $zData
## (4)株表示........... ssKabView !Kdora 'nnnn+nnnn+nnnn'
##★(1)式表計算 ######################################################
## 形式: [&&& ssKeisan '文字列']
##★(1.0)「1行計算」は単に[&]起動でOK
##
& 2.5 +3 +(4-2)*3 ##★[WC]
##★(1.1) dbg窓表示は以下
##
&&& dbg( 2.5 +3 +(4-2)*3 ) ##★[WC]
##★(1.2)式を複数並べて合計も計算
##
&&& ssKeisan ' ##★[WC]
; 300 * 2 =
; 120 * 1 =
; 360 * 2 =
; 50 * 5 =
;'
##★(1.3)いろいろ計算式を並べ一式計算
##
&&& ssKeisan ' ##★[WC]
; 3 + 4 =
; 5 * 8 - 6 =
; (300 + 220)*1.10 =
; (5 +3.5)*2 +(4.2 + 2)/2 =
;'
##★(1.3)[;]で横並びで計算する
##
&&& ssKeisan ' ##★[WC]
; 3*4; 5*6; 8*2; 4*6;
; 13*4; 15*6; 18*2; 14*6;
;'
##★(1.4)[;_]行でコメント行を入れる
## (アンダーバー)
##
&&& ssKeisan ' ##★[WC]
;_【XXXXにかかる費用】
;_ 単価A * 数(個)
; 3 * 4 =
; 5 * 8 =
; 5 * 9 =
;_
;_ 単価B * 量(g)
; 3 * 4 =
; 28 * 9 =
;'
##★(1.5)[_]で項目名を入れる
## (アンダーバー)
##
&&& ssKeisan ' ##★[WC]
;_【来週塾でいるおかね】
;_ 名 称 _ 単価 * 個数
; 1.ノート _ 120 * 3 =
; 2.えんぴつ_ 80 * 5 =
; 3.消しゴム_ 20 * 2 =
;'
##★(1.6)円のいろいろ計算(設定値をglobal指定)
##
&&& $global:pi=3.14; ##★[WC]
; $global:rr=15;
;ssKeisan '
;_ 【円のいろいろ】
; 1.半 径_ $rr
; 2.直 径_ 2 * $rr
; 3.弧の長さ_ $pi *(2 * $rr) =
; 4.面 積_ $pi *($rr * $rr) =
;'
##★(1.7)チョットな数学関数演算([Math]::を付加)
&&& $global:drg=[Math]::pi/180; ##★[WC]
;ssKeisan '
; $drg =
; [Math]::Sqrt(36) =
; [Math]::Sin( 90 *$drg) =
; [Math]::Cos( 30 *$drg) =
; [Math]::Tan( 60 *$drg) =
; [Math]::Exp( 1.1 ) =
; [Math]::Log10( 100 ) =
; [Math]::Log( 3 ) =
;'
##★(2)自動キー入力(サンプル:IDやパスワードなど)##########
##★オペ練習の画面
##
&&& MsgBox "キー出力練習画面です。`n`n`n`n"; ##★[WC]
##★パスワードBOX入力のケース(12345678をパスワード変更)
##
&&& ssKeyAuto '{D}12345678{E}' ##★[WC]
##★(3)グラフ表示(サンプル)#################################
##★[横]棒グラフ
##
&&& $zType="BarChart"; ##★[WC]
; $zOption="{ title: 'XXX会社', titleTextStyle:{color:'black', fontSize:22},
; width:800, height:400, backgroundColor:'#f1f8e9',
; }"
; $zData="[ ['年', '売上', '利益', '税金', '設備費'],
; ['2014', 1023, 400, 120 , 30 ], ['2015', 1170, 460, 150 , 120 ],
; ['2016', 1660, 560, 240 , 28 ], ['2017', 1030, 540, 180 , 33 ],
; ['2018', 1030, 540, 180 , 50 ],
; ]"; ssGraf $zType $zOption $zData;
##★折れ線グラフ
##
&&& $zType="LineChart";
; $zOption="{ title:'AAAAAAAAAAA', titleTextStyle:{ fontSize:22, color:'black', },
; width:900, height:500, backgroundColor:{strokeWidth:2, fill:'#FCFCFC', },
; hAxis:{ title:'XXXXXXXX', titleTextStyle:{fontSize:18,}, ticks:[0, 2, 4, 6, 8, 10, 12, 14, 16],},
; vAxis:{ title:'YYYYYYYY', titleTextStyle:{fontSize:18,}, gridlines:{color: '#888', minSpacing: 40}, },
; legend:{ position:'right', textStyle:{color:'blue', fontSize:18}, },
; crosshair:{ trigger:'both', },
; }";
; $zData="[ [ '日付', '登録者', '来場者', '閲覧者'],
; [1, 37.8, 80.8, 41.8], [2, 30.9, 69.5, 32.4], [3, 25.4, 57, 25.7], [4, 11.7, 18.8, 10.5],
; [5, 11.9, 17.6, 10.4], [6, 8.8, 13.6, 7.7], [7, 7.6, 12.3, 9.6], [8, 12.3, 29.2, 10.6],
; [9, 16.9, 42.9, 14.8], [10, 12.8, 30.9, 11.6], [11, 5.3, 7.9, 4.7], [12, 6.6, 8.4, 5.2],
; [13, 4.8, 6.3, 3.6], [14, 4.2, 6.2, 3.4],
; ]"; ssGraf $zType $zOption $zData;
##★(4)株表示の処理(サンプル)#################################
##
&&& ssKabView !KdoraCha '4356+9501+4882+9348+3064'; ##★[WC]
[wPshKeisan101.txt ]