Vol.778 4.Oct.2019

パワーシェルとその後 ソーラーチャージャー ExcelのVBA(3) 〜コントロール

P パワーシェルとその後

by fjk

 Windowsにはコマンド操作を行うコマンドプロンプトやパワーシェル(PowerShell)が準備されている。PowerShellはコマンドプロンプトを強化したもので、windwos7以降で利用できる。PowerShellは5.0が最後で、MacやLinuxでも動作するPowerShellCoreがリリースされている。PowerShellCoreはクロスプラットフォームとなり、新しく追加された機能もあるが、MacやLinuxでも動作させるため、Windows機能の一部が削られ、機能が同等となっていないので、別物と考えた方が良い。
 PowerShellはコマンド(正確には「コマンドレット」)を含むコマンドの実行環境であると同時に、スクリプト言語である。コマンドプロンプトにも一連のコマンドを連続して実行するバッチファイル機能があるが、PowerShellはより強力なスクリプト機能を持っているので、Windowsのほとんどの操作をスクリプトで自動実行することができる。

1.コマンドプロンプトを開く
・[スタートメニュー][windowsシステムツール][コマンドプロンプト]をクリック
・[windowsキー+R]ファイル名を指定して起動、「cmd」と入力
2.パワーシェルを開く
・[スタートメニュー][windowsPowerShell][Windows PowerShell]をクリック
・[windowsキー+R]ファイル名を指定して起動、「powershell」と入力
3.目的のフォルダーでPowerShellを開く
@ 目的のファオルダー上で「shftキー+右クリック」
A「PowerShellウィンドウをここで開く」をクリック
4.コマンドプロンプトまたはパワーシェルの終了
・コマンドラインで「exit」と入力

 ※管理者として実行する場合は「右クリック」後、「管理者として実行」をクリック
@windows+Rキー C 終了はexitコマンド
Aスタートメニュー Bshft+マウス右クリック


S ソーラーチャージャー

by fjk

 車中泊やキャンプ、災害・停電時に太陽光で発電できるようBeaudensの100Wソーラーチャージャー(Amazonクーポン利用で約20,000円、太陽エネルギー変換効率23%)を入手した。
 出力端子はType-C(5-20V/3A)、QC 3.0 (5-12V/2A)、USB(5V/2.0A)、DC(18V/5.55A)四つの出力に対応し、DC-MC4転換ケーブル、DC-Anderson転換ケーブル、DC-DCケーブル(10種類の変換プラグ付き)が付属し、スマホやノートパソコン、ポータブル電源に電力を供給できる。
 ソーラーパネルは4つ折りに畳め、収納時は480x365mmとコンパクトに持ち運べる。自立スタンドを立てて調節することで、太陽光の受光角度がある程度調整可能である。ぶら下げる場合は4隅にあるハトメ穴が利用可能。
 秋の晴天時に、Jackery700を接続し充発電テストを行ったところ、67〜62W(時間と共にパネルが熱くなるためか発電量が減る)で充電が行われた(10%/h程度)。最大出力の半分(50W)が得られればと思っていたが、思っていたより良い結果となった(薄曇りでは46W程度となった)。
モデル名: BS-1001
太陽電池: 単結晶
最大出力: 100W
DC出力: 18V / 5.55A、60W-90W
USB出力: 5V / 2A
QC 3.0 USB出力: 5-12V / 2A
Type-C出力: 5-20V / 3A
折畳みサイズ: 480 x 365 x 66mm
展開サイズ: 1520 x 480 x 55mm
重 量: 4.5Kg
折りたたんだ状態
(ソフト持ち手付き)
付属品のケーブル類は
ポケットに収納
BS-1001を広げた状態
(スタンドを使って角度調整可)
ソーラーの日陰で
Jackery700に66Wで充電中


V ExcelのVBA (3) 〜コントロール

by fjk

 マクロの実行は前述(abc777)のように行えるが、シート上などにボタンを配置し、そのボタンをクリックすることでマクロを実行させる方法がある。ボタンのようなコントロールには「フォームコントロール」(以下「フォームCtl」)と「ActivXコントロール」(以下「ActivX-Ctl」)があり、セルの値を変更する用途、簡単なマクロの呼び出しに使う場合はフォームCtlが、マクロのコードからの参照やコントロールの変化(イベント)でマクロを実行したい場合はActiveX-Ctlの利用が適している。特にプロパティの変更を行いたい場合は、ActivX-Ctlを選ぶ必要がある。この違いをまとめると、

コントロールフォームCtl ActivX-Ctl
利用方法 マクロの呼び出し、セル値の反映マクロの呼び出し、マクロからの参照
配置方法 どちらも[開発][挿入]でコンポーネントをクリック、ドラッグ
配置直後 ボタンは[マクロの登録]が起動コンポーネントの配置のみ
外 観 どちらも同じ(ただしキャプション文字列が異なる)
選択方法 ホーム][編集][オブジェクトの選択]後
 クリックまたは範囲をドラッグ
[開発][デザインモード]をクリック後
 コントロールをクリック
プロパティ 非表示(シートのプロパティ)コントロールのプロパティ表示
自由度 カスタマイズしにくいカスタマイズが容易
1.コントロールの貼り付けと動作指示
@[開発]タブで[挿入」をクリック。
A「フォームCtl」または「AxtivX-Ctl」のボタンを選び、シート上にマウスで大きさを指定して貼り付ける。
  フォームCtlは「ボタン1」、ActivX-Ctlは「Command1」と表示される。
B[デザインモード]をクリックし(トグルになっている)、貼り付けたコントロールをクリックするとボタンの動作を指示することが出来る
C フォームCtlのボタンでは「マクロの選択」画面が開くので、実行したいマクロを選択する。
D ActiveX-CtlおよびフォームCtlのボタン以外では、Visual Basicボタンを押すと、VBE編集画面が開き、コマンドを入力できる。
E デザインモードをクリックし通常モードに変更後、コントロールのボタンをクリックすると指定した動作が実行される。
F ボタンのキャプションはActivX-Ctlでは右クリック後の「プロパティ」で。フォームCtlでは右クリック後「テキストの編集」で変更できる。
コントロールの種類 コントロールのプロパティ
2.メッセージボックスの利用
 間違ってボタンを押した時に、動作の実行をキャンセルしたいことがある。このような時にはVBAに準備されている「メッセージボックス」(MsgBox)を利用するのが便利である。
コマンドボタンが押されると、メッセージボックスを表示し、実行が「Yes」なら、実際に動作を実行し、でなければ実行がキャンセルされる。
なお、メッセージボックスで、戻り値が必要な場合はファンクション形式のMsgBox()で指定し、戻り値が不要の場合は文形式で記述する。
‐−−−−−−−−−−−−−−−−−−−−−−−−−
Private Sub CommandButton1_Click()
  Dim ans As Integer
  ans = MsgBox("乱数を配置しますか?", vbYesNo + vbQuestion + vbDefaultButton2, "実行確認")
  If ans = vbYes Then
    test2
  Else
    MsgBox "操作をキャンセルしました", vbOKOnly, "乱数配置"
  End If
  Unload Me
End Sub
−−−−−−−−−−−−−−−−−−−−−−−−−−
ボタンが押された場合の動作指示 実行してみると・・

【メッセージボックスの書式】
 MsgBox(Prompt, [buttons], [Title], [Helpfile], [Context])
Prompt :メッセージの内容
Button:表示するボタンやアイコン(+で連記)
Title:タイトルバーの表示内容
Helpfile:ヘルプファイル
Cotext:コンテキスト番号(Help表示時)

設定値 標準ボタン
vbDefaultButton1 第1ボタンを指定
vbDefaultButton2 第2ボタンを指定
vbDefaultButton3 第3ボタンを指定

設定値 標準アイコン
vbCritical 「警告」
vbQuestion 「問い合わせ」
vbExclamation 「注意」
vbInformation 「情報」

設定値 表示ボタンの内容
vbOkOnly <OK>だけ
vbOkCancel <OK>と<キャンセル>
vbAbortRetryIgnore <中止><再試行><無視>
vbYesNoCancel <はい><いいえ><キャンセル>
vbYesNo <はい><いいえ>
vbRetryCancel <再試行><キャンセル>


パワーシェルとその後 ソーラーチャージャー ExcelのVBA(3) 〜コントロール