コンピュータや音楽の事書いてます

MW_WP_Form にURL投稿禁止機能をつける

wp-content/plugins/mw-wp-form/classes/validation-rules/class.url.php というファイルがある。これはURLを入力してほしい時のルールである。 単純に考えて、これの条件を逆にすればURL禁止ができる。 class.url.phpをコピーして、class.nourl.php とする…

シェルの挙動や表示のカスタマイズ

$PROFILE が指し示すファイルを作成or編集し、powershell起動時に設定したいロジックを記載する 例: Set-PSReadLineKeyHandler -Key Tab -Function Complete #tabキーの挙動をbashの様な感じに Set-PSReadLineOption -Colors @{ Operator = "ffbb33" } #演…

コマンド結果貼り付け時、プロパティ名とか調べてselectとかめんどくさいとき

なんでも | ConvertTo-Html | Set-Clipboard をつければ良い。 一発でクリップボードに入り、Excelに貼り付ければ勝手に表になる。 あとは要らない列を消すだけ。 ls | ConvertTo-Html | Set-Clipboard Get-Process a* | ConvertTo-Html | Set-Clipboard Get…

google spreadsheets をダウンロードせずにExcelに読み込む

ワンタッチ更新 google spreadsheets をExcel形式でダウンロードすれば当然Excelで開けるが、元データが更新されたらまたダウンロードしなければならない。Excelには元データが更新されたらワンタッチで更新出来る機能があるが良く使われるのは DBから CSVな…

配列を一括でExcelに書き込むとき、規則がたくさんある

Range型に代入でいっぺんに書き込める配列の条件: 縦,横の要素数が1で始まっている ジャグド配列ではなく、Object[,]型 .Range("A:H") とかだと遅くなるので、きっちり終わりの範囲を示す 要素指定順は[row, column] 下記はlsコマンドの出力から各プロパテ…

[Excel] sharepointのExcelパス トラブル解決 FullNameURLEncoded

sharepointのExcelパスを加工してHYPERLINK関数でリンクさせようとすると色々とうまくいかない時がある。 こういうやつ https://xxxxx.sharepoint.com/sites/aaa/bbb/Shared%20Documents/~~ シート関数の ENCODEURL() はコロンやスラッシュもエンコードし…

Excel操作のテンプレ

準備 using namespace Microsoft.Office.Interop.Excel [Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Interop.Excel") これは[Microsoft.Office.Interop.Excel.Range] などを [Range] と省略できるメリットがあるが、名前空間にうるさい人…

int[]配列をforeach-objectしたら結果が複数ならObject[] 、結果が1つだとint32

int[] にキャスト PS> $arr = ([int[]](1..3)) PS> $arr.GetType() IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True Int32[] System.Array foreach-objectするとObject[] PS> $arr2 = $arr | %{ $_ } PS> $arr2.GetType() IsPub…

現在ブラウザでログイン中のwebサイトのスクレイピング

クッキーのみでセッションが特定出来る場合 例:Redmine EdgeやChromeの開発者ツールの「アプリケーション」タブからクッキーの名前と値をコピーして、 $url="https://xxxx.cloud.redmine.jp/issues/71643" #表示中のURL $session = New-Object Microsoft.Po…

キャッシュ類とテンポラリファイルの一括削除

Windows起動時に自動実行してしばらく使っている。 数GBくらい違う。 いまのところ不具合なし。 cd $PSScriptRoot #準備 $tdir = ( "$env:APPDATA\Microsoft\Teams\Cache", "$env:APPDATA\Microsoft\Teams\Code Cache", "$env:temp\", "$env:LOCALAPPDATA\Te…

WScript.Shell CreateShortcut 「値が有効な範囲にありません。」HRESULT: 0x80070057

デスクトップに bbb.ps1 ファイルを実行するショートカットaaa.lnkを作るのに $wsh = New-Object -ComObject WScript.Shell $lnk=$wsh.CreateShortcut("$env:USERPROFILE\Desktop\aaa.lnk") $lnk.TargetPath="powershell -ExecutionPolicy Bypass -command "…

scripting.Dictionary.keysにSortがない

VBA

ぐぐってみると .Net のArrayListを使ったりという情報があるけど、そこまでしたくない時。 WorksheetFunction.Sortが使えた。 Dim dicSum As New Dictionary, v 'なんか格納 For Each v In WorksheetFunction.Sort(dicSum.Keys, 1, 1, True) Debug.Print "k…

C++Builder PostgreSQL Text[]カラムの読み込み 要素数不明の場合

TarrayField の Fields や FieldValues を使うという情報があったが、なぜか先頭要素しか取得できなかった。 FieldByName() で取得した TField を TDataSetField へキャストし、 TDataSetField の NestedDataSet->Eof を見ながら Next() していく方法でうま…

Excelアドイン 比較ツール inquire を直接起動する

support.microsoft.com 便利だが、立ち上げ方法が分かりにくい。スタートメニューから起動出来るように %AppData%\Microsoft\Windows\Start Menu\Programs を開き、 新規作成 → ショートカット で下記を入力し、エンター powershell.exe -Command & """"C:\P…

[powershell]巨大なテキストファイルの最後の方だけ見るのに時間がかかる

PS> dir \\リモートのPC\巨大ファイル ディレクトリ: \\xxxx\xxx\bin\logs Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 2022/01/12 20:25 68290811 巨大ファイル.log サーバのログの監視などでしょっちゅう状態を知りたいときな…

powershell Excelにファイル一覧

立ち上げたExcelにカレントディレクトリのファイル名一覧を書き出す ($sheet = (New-Object -ComObject excel.application).workbooks.add().sheets.add()).Application.Visible=$true $r = $sheet.range("a1") dir -Name | foreach { $r.value = $_; $r=$r.…

powershell iniファイルをテスト用などでしょっちゅう書き換えるときのツール作ってみた

powershellの練習がてら作成。 コメントや空行などを維持したままで更新してくれる。 <# .SYNOPSIS iniファイルへの変更指示をコマンドラインから受け付けて処理する .example .\iniUtil セクション名1.パラメータ1=値1 セクション名2.パラメータ2=値2 スペ…

Powershell class, インスタンス, List 不思議な挙動

Aというクラスがあるとして class A { [string]$s1 }.Net のList型を用意 using namespace System.Collections.Generic $alist = New-Object List[A]状態を見ると、List型にはAddというメソッドがあり、 A型を1つ入れられることが分かる。 $alist.GetType()…

powershellでExcel操作+画像ファイルをクリップボード経由でシート貼り付け

ショートカット cmd.exe /c powershell -noexit \app\scripts\toExcel2.ps1 を作り、そのショートカットへ複数フォルダをドラッグアンドドロップすると、 フォルダ毎別シートになって、ファイル名一覧をシートに書き込む。 拡張子が.DATまたは.csvのものは内…

C++Builder UnicodeStringとchar*文字列の連結

C++

これがあるとき UnicodeString s = "xxx" これはできるのに UnicodeString where = " abc" + s + " = :" + s; これは出来ない UnicodeString where = "and " + " abc" + s + " = :" + s; 理由:char*とUnicodeStringをつなぐときには+演算子と自動変換が inc…

Sharepointのパスをエクスプローラで開く

https://xxxx.sharepoint.com/sites/xxxxxxxxxxxxxxxx/Shared%20Documents/Forms/AllItems.aspx?id=%2Fsites%2Fxxxxxxxxxxxxxxxxxxxx&viewid=xxxxxxxxxxxxxxxxxこのようにsites という言葉が2回でてくるパターンの場合、ブラウザのアドレスバーからURLをコピ…

c++Builder [ilink32 エラー] Error: 未解決の外部シンボル 'Excel_xp::CLSID_ExcelApplication' が xxx から参照されています

Excel関連の処理のある、C++Builder 4.2 のプロジェクトをbcc32(従来のコンパイラ)からbcc32c(Clang)へ移行するときの話。 C++Builder -> プロジェクト -> オプション -> C++コンパイラ -> "従来のコンパイラ" を外した場合、Clangによるコンパイルに切…

Visual Studio Code 設定メモ setting.json

{ "vim.hlsearch": true, "vim.wrapscan": false, "security.workspace.trust.untrustedFiles": "open", "vim.useSystemClipboard": true, "files.autoGuessEncoding": true, "editor.wordWrap": "off", "git.autofetch": true, "gitlens.views.defaultItemL…

C++Builder エラーメッセージをググっても見つからないとき

Embarcadero C++Builderの情報はネット上でも非常に少なく、日本語のエラーメッセージをググっても事例などが見つからないことが多い。 英語に変更すれば見つかる可能性が高まる。 また、バッチコンパイルでコンパイルの高速化をした際、メッセージが文字化…

jQueryのappend()は移動にも使える

appendという言葉からして、追加の機能だと思っていた。これだと、appendという言葉通り、追加になる。 $("#d1").append("<input type=button>"); しかし、既存の要素を対象にすると、 <script src="https://code.jquery.com/jquery-3.6.0.slim.min.js"></script> <script> var sw = 1; function move(){ if(sw == 1){ $("#d1").append($("#b1")); sw = 2; } else{…

コードサイニング証明書の取得の流れとトラブル解決

Visual Studio からClickonce発行したアプリが顧客先で「発行元が不明」の警告を出すのでそれを解決するため。 ここが安いみたいなので注文した。 www.thesslstore.com Comodo Code Signing $82.5/YearCOMODOのオフィシャルから購入するのと何が違うのかは分…

ImageListにPNG画像を読み込んだら色が変わってしまう

Microsoft OfficeのTaskPaneにUserControlを配置し、そこへ画像ボタンを配置したら、元の画像ファイルよりも明るい色に変わった。 原因は全くわからない。バグでは? 現象はImageListにPNG画像を読み込んだ状態で起こった。ImageListならMouseHoverとかMouse…

無名関数をclassメンバに代入しても実行できないとき

このような無名関数を $getMailBody = function ($data){ return <<<EOF {$data["氏名"]} 様 この度は、 EOF; }; $db->customerMailBody = $getMailBody; //クラスメンバへ代入 このクラスのメンバに代入したとき、 class DB { public Closure $customerMailBody; これでは実行時エラーになってしまう。 //DB</eof>…

jQueryのpostでphpでDBにinsertしたら SyntaxError: Unexpected end of JSON input at parse ()

DB処理はちゃんと終わっているのに、ブラウザに帰ると、jQueryの.fail() に入ってきてしまう。原因はレスポンスを返していないせいだった。 insertだから何も返さなくて良いと勘違いしており、 echo json_encode($statement->fetchAll(PDO::FETCH_ASSOC)); …

DocumentWindow内のスライドのピクセル座標を取得

ピクセル座標(モニターディスプレイ上の座標)を取得 var aw = app.ActiveWindow; aw.Panes.OfType<Pane>() //先にスライドのPaneをactivate .Where(p=>p.ViewType==PpViewType.ppViewSlide) .First().Activate(); var pxLeft = aw.PointsToScreenPixelsX(0); //</pane>…