xlogI125’s blog

パソコン作業を効率化したい

PowerShell

VBA: WshShell.Exec("PowerShell -Command -")

VBA: WshShell.Exec PowerShell: WshShell.Exec PowerShell: ProcessStartInfo VBA: WshShell.Exec Excelマクロから簡単にPowerShellの出力結果を取得する方法を考える ' Excel 2019, Windows 11 (2024年4月頃) ' 参照設定 ' Windows Script Host Object Mod…

Webブラウザ JavaScript ハッシュ値

crypto.subtle.digestでファイルのハッシュ値を求める。 PowerShellのGet-FileHashコマンドレットではなく、Webブラウザでファイルのハッシュ値を求める方法を考える。 filesプロパティ(<input type="file">) dataTransfer.files 参考: Get-FileHashコマンドレット filesプロパ…

PowerShell練習 Select-ObjectのPropertyパラメーター 2

Select-Objectでプロパティを指定してから表示 # PowerShell 5.1, Windows 11 (2024年2月頃) Set-StrictMode -Version Latest Add-Type -Language CSharp -Namespace Win32API -Name Shlwapi -MemberDefinition @' [DllImport("Shlwapi.dll", EntryPoint = "…

PowerShell: フォームにドラッグされたファイルのパスを取得

フォームでのドロップ操作を省略し、ドラッグ操作とクリック操作を考える。 普通にショートカット(*.lnk)アイコンへのドラッグ&ドロップのほうが便利な気がする。 # [テスト環境] # PowerShell 5.1, Windows 11 (2024年2月頃) # [スクリプトファイル(.ps1)] …

PowerShell: フォームにドラッグ&ドロップされたファイルのパスを取得

マウスボタンの接触不良が原因でショートカット(*.lnk)アイコンへのドラッグ&ドロップ操作を失敗すると大変なことになるので、フォームへのドラッグ&ドロップを考える。 # PowerShell 5.1, Windows 11 (2024年2月頃) $ErrorActionPreference = [System.Manag…

ファイル作成時に通知領域にアイコンを表示 3

メモ NotifyIconにおけるContextMenuStripのGUIが固まらないようにするため、試しにForm表示時のみContextMenuStripを設定する。 スクリプト NotifyIconにおけるContextMenuStripの動作確認が目的 # PowerShell 5.1, Windows 11 (2024年1月頃) Set-StrictMod…

PowerShell練習 [System.Action]{} # lambda_method

ScriptBlockをDelegateに変換しようとするとlambda_methodになる様子 # PowerShell 5.1, Windows 11 (2023年12月頃) $lambdaMethod = [System.IO.FileSystemEventHandler]([ScriptBlock]::Create("")) $lambdaMethod | Format-List 引数の確認 # PowerShell …

C#からPowerShellコマンドを使う(PowerShell.AddScriptメソッド)

メモ C#を使用可能でSystem.Management.Automation.dllを参照して良い場合にPowerShell.AddScriptメソッドを使う。 参考資料リンク Windows PowerShell Host Quickstart - PowerShell | Microsoft Learn 使い捨てスクリプト # PowerShell 5.1, Windows 11 (2…

ファイル作成時に通知領域にアイコンを表示 2

メモ NotifyIconとFileSystemWatcherのイベントをRegister-ObjectEventでsubscribe Icon.ExtractAssociatedIconとSystemIconsのアイコンを使用 使い捨てスクリプト デスクトップにファイルを作成したとき、通知領域にファイルのアイコンを表示する。 ショー…

ファイル作成時に通知領域にアイコンを表示

メモ BalloonTipの表示 設定 > システム > 通知 で 通知 を オン にしておく 設定 > システム > 通知 で 応答不可 を オフ にしておく 使い捨てスクリプト # PowerShell 5.1, Windows 11 (2023年11月頃) $ErrorActionPreference = [System.Management.Automa…

PowerShell: クリップボードの白黒画像を白黒2値としてファイルに保存

メモ Clipboard.GetImageメソッドで取得したImageから新しいBitmapを作成 正の整数を8で割ったときの商を求めるため-shr 3を使用 使い捨てスクリプト 普通に手作業でクリップボードの画像をペイントに貼り付けてモノクロビットマップとして保存したほうが早…

DocuWorks 9 操作メモ: OLE (アノテーションツールバーの設定)

バージョン: DocuWorks Desk Version 9.0.11 (Windows11, 2023年11月頃) DocuWorks Viewer 操作メモ OLE (アノテーションツールバーの設定) アノテーションツールバー「未設定OLE」→「オブジェクトの挿入」→「ファイルから作成」にて既存のDocuWorks文書を貼…

PowerShell: フォームにドラッグ&ドロップしたファイルのハッシュ値を表示

メモ add_DragEnterメソッドとadd_DragDropメソッドの定義をGet-Memberコマンドレットで確認 # PowerShell 5.1, Windows 11 (2023年10月頃) Add-Type -AssemblyName System.Windows.Forms [Windows.Forms.Form]::new() | Get-Member -Force | Where-Object -…

PowerShell: Bitmap.LockBits (Format1bppIndexed)

メモ ピクセル形式にFormat1bppIndexedを用いる場合におけるBitmap.LockBitsメソッドの使い方メモ 使い捨てスクリプト 書き込み 横32×縦8の値を手入力してPNG形式で保存 # PowerShell 5.1, Windows 11 (2023年7月頃) Set-StrictMode -Version Latest Add-Typ…

Excel VBA練習 WshShell.Exec("PowerShell -Command -")でファイル一覧を取得

メモ FileInfo.DirectoryNameプロパティ相当のつもりで Convert-Path -LiteralPath $_.PSParentPath を使用 Group-Object でグループ化したオブジェクトを List<GroupInfo>.Sort で並べ替え 使い捨てマクロ ファイル名"PowerShell.exe"の検索順序は気にしない ' Excel 2</groupinfo>…

PowerShell練習 Excel.Applicationを起動してxlsxファイルを作成

メモ 2次元配列を Range.Value2 に代入 Excel.Applicationの起動に時間がかかるので他の方法を考えたほうが良いかもしれない 使い捨てスクリプト エラー処理やCOMオブジェクトの解放を気にしていないので練習以外では実行しない # PowerShell 5.1, Excel 201…

プリンタードライバーが作成した電子文書ファイルをフォルダ監視で印刷

メモ FileSystemWatcherクラス と Register-ObjectEventコマンドレット を使用 印刷はコマンド入力に対応したビューアーを使用 プリンターのドライバー名とポート名 CIMクラスの一覧から特定の文字列を含むものを選択 Get-CimClass | Where-Object -Property…

PowerShell練習 Image.PropertyItemsの内容を取得

メモ GetDetailsOfではなくImage.PropertyItemsによる取得を考える 参考資料リンク Image.PropertyItems Property (System.Drawing) | Microsoft Learn 使い捨てスクリプト とりあえず何かの情報を取得する # PowerShell 5.1, Windows 11 (2023年6月頃) usin…

GetDetailsOfメソッドでファイルの詳細を取得 2

メモ GetDetailsOfで取得した文字列に含まれる '[\p{Cc}\p{Cf}]' を '' に置換 ディレクトリパスをInteraction.InputBoxのテキストボックス部分に入力 参考資料リンク Character Classes in .NET Regular Expressions | Microsoft Learn Folder.GetDetailsOf…

PowerShell練習 Select-ObjectのPropertyパラメーター

メモ 指定したプロパティ名が存在しない場合、プロパティの値に$nullが設定される 参考資料リンク Select-Object (Microsoft.PowerShell.Utility) - PowerShell | Microsoft Learn about Object Creation - PowerShell | Microsoft Learn 使い捨てスクリプト…

Rename-Itemコマンドの入力準備をExcelシートで行う 2

メモ Excelシート例 使い捨てスクリプト 参考資料リンク 過去記事 メモ Sort-Objectコマンドレットでファイル名を並べ替えた場合の順位を併記 文字列を数式の一部として扱うことでExcelシートへの貼り付け時(G/標準)に文字列が変化しないようにした Excelシ…

GetDetailsOfメソッドでファイルの詳細を取得

メモ 画像ファイルにおける ビットの深さ などを取得する。 参考資料リンク Folder.GetDetailsOf method (Shlobj\_core.h) - Win32 apps | Microsoft Learn IShellFolder2::GetDetailsOf (shobjidl_core.h) - Win32 apps | Microsoft Learn Shell object (Sh…

Rename-Itemコマンドの入力準備をExcelシートで行う

ショートカットアイコンにドラッグ&ドロップされたファイルが入っているフォルダのファイル一覧をExcelシートに出力して保存する。 メモ Rename-Item -LiteralPath 'C:\tmp\[A-Z]\A[123].txt' -NewName 'B4.txt' 単一引用符を使うのでパスに ' が含まれる場…

GroupInfoの配列をNameプロパティで並べ替え

Group-Object の出力である GroupInfo の配列を Name プロパティで並べ替え 並べ替え: System.Array.Sort 比較: StrCmpLogicalW 使い捨てスクリプト テスト環境: PowerShell 5.1, Windows 11 (2023年1月頃) using namespace Microsoft.PowerShell.Commands S…

PowerShell練習 モノクロビットマップの解像度を変更してpngファイルとして保存

メモ 用紙のスキャンデータ(白黒2値, 解像度600dpi)を mspaint.exe で編集し、モノクロビットマップで保存する場合を想定 ビットマップだとファイルサイズが大きいのでpngファイルで保存 使い捨てスクリプト # [テスト環境] # PowerShell 5.1, Windows 11 (2…

Acrobat IAC練習 PDFのしおり名としおり移動先ページ番号をCSV形式でクリップボードにコピー 2

メモ PDFファイルの しおり のレベルが9以下の部分を対象にして、PowerShellでしおり名としおり移動先ページ番号をCSV形式でクリップボードにコピーする。 参考資料リンク timeout | Microsoft Learn about Functions - PowerShell | Microsoft Learn about …

Acrobat IAC練習 全ページのページボックスをCSV形式でクリップボードにコピー

メモ 使用するオブジェクト PDDoc と JavaScript object ページボックスの座標 InvokeMember で JavaScript object の getPageBox メソッド CSVへの変換 PSCustomObject の List を ConvertTo-Csv コマンドレット 参考資料リンク Creating .NET and COM Obje…

PowerShell練習 配列のシャローコピーを並べ替えて返す

メモ ソート後の値を返さないものよりも返すほうが、スクリプトの入力面で扱いやすい気がする。 使い捨てスクリプト # PowerShell 5.1, Windows 11 Set-StrictMode -Version Latest Add-Type -UsingNamespace System.Management.Automation ` -Namespace MyN…

PowerShell練習 パスに角括弧[]を含む作業フォルダー 2

メモ powershell.exe から powershell.exe -ExecutionPolicy RemoteSigned を実行したのち、以下の内容を試す。バージョン: PowerShell 5.1, Windows 11作業フォルダー C:\()\[]\このフォルダへの移動 Set-Location -LiteralPath 'C:\()\[]\' ファイル名にシ…

PowerShell練習 基準となる順番に並べ替える

メモ メール宛先の順番を考えて入力する作業に一苦労するので、作業負担の軽減を考えてみる。この例の場合はExcelのユーザー設定リストで対応可能だと思う。実際にはメール宛先の順番を臨機応変に対応する必要があり、そもそもメール宛先を思うように取得で…