PowerShell

PowerShellでJSONファイルを読み込むサンプルコード(レコードのようなJSONファイル編)

PowerShellで同じ定義が続くレコードのようなJSONファイルを読み込むサンプルコードを紹介します。ファイル構成jsonファイルとpowershellファイル(ps1)は同じディレクトリに格納しています。ソースコードコマンドを叩くと、JSONファイルを読み込んで全部出力します。今回は2パターンのforeach文でidとnameを出力します。コマンドpowershell -ExecutionPolicy RemoteSigned -File "ReadJson_multi.ps1"ReadJson_multi.ps1# JSONファイルの読み込み$jsonContent = Get-Content -Path "json_multi.json" -Raw$jsonObj = ConvertFrom-Json $jsonContent# 繰り返し処理 1 $jsonObj | ForEach-Object { Write-Host $_.id }# 繰り返し処理 2foreach($person in $jsonObj){ Write-Host $person.name}json_m...
PowerShell

PowerShellでJSONファイルを読み込むサンプルコード(設定ファイルのようなJSONファイル編)

PowerShellでJSONファイルの設定ファイルを読み込むサンプルコードを紹介します。同じ列定義が続くレコードのようなJSONファイルの読み込みは別記事で紹介します。ファイル構成jsonファイルとpowershellファイル(ps1)は同じディレクトリに格納しています。ソースコードコマンドを叩くと、JSONファイルのいくつかのプロパティを読み込みます。コマンドpowershell -ExecutionPolicy RemoteSigned -File "ReadJson.ps1"ReadJson.ps1# JSONファイルの読み込み$jsonContent = Get-Content -Path "json1.json" -Raw$jsonObj = ConvertFrom-Json $jsonContent# プロパティの確認# 文字列Write-Host $jsonObj.property1# 数値Write-Host $jsonObj.property2# 階層構造Write-Host $jsonObj.property3.namejson1.json(JSONファイル){ ...
PowerShell

PowerShellでJSONファイルへ書き込むサンプルコード

PowerShellでJSONファイルへ書き込むサンプルコードを紹介します。ファイル構成jsonファイルとpowershellファイル(ps1)は同じディレクトリに格納しています。ソースコードコマンドを叩くと、JSONファイルを読み込み、ageプロパティとpets.typeプロパティを変更し書き込みます。また、プロパティ"language" : "japanese"を新規に追加します。コマンドpowershell -ExecutionPolicy RemoteSigned -File "WriteJson.ps1"WriteJson.ps1# JSONファイルの読み込み$jsonContent = Get-Content -Path "json1.json" -Raw$jsonObj = ConvertFrom-Json $jsonContent# プロパティの変更# 年齢$jsonObj.age = 99# ペットの種類$jsonObj.pets.type = "bird"# プロパティの追加# 母語$jsonObj | Add-Member -Name "language" -Va...
VBA

VBAによるswap関数(2つの変数の値を交換)のサンプルコード

VBAによるswap関数(2つの変数の値を交換)のサンプルコードを紹介します。SWAP関数とはSWAP関数とは「二つの変数の値を入れ替える」基本的な関数です。ソートアルゴリズムを学ぶ際に、SWAP関数は必ず必要な知識になります。ここではVBAで、2ステップに分けてSWAP関数を作成していきます。二つの変数の値を入れ替えるコードを作成する上記のコードをSWAP関数化する二つの変数の値の入れ替えまずはシンプルに2つの変数の値を入れ替えます。関数化は後で実施します。ソースコードThisWorkbookの下にソースコードを記述しました。swap1.xlsmOption ExplicitSub main() Dim dataA As String Dim dataB As String Dim temp As String dataA = "AAAA" dataB = "BBBB" MsgBox "実行前:" & Chr(13) + Chr(10) & dataA & "," & dataB temp = dataA dataA = dataB dataB = temp MsgBox "実行後:...
PowerShell

PowerShellによるswap関数(2つの変数の値を交換)のサンプルコード

PowerShellによるswap関数(2つの変数の値を交換)のサンプルコードを紹介します。SWAP関数とはSWAP関数とは「二つの変数の値を入れ替える」基本的な関数です。ソートアルゴリズムを学ぶ際に、SWAP関数は必ず必要な知識になります。ここではPowerShellで、2ステップに分けてSWAP関数を作成していきます。二つの変数の値を入れ替えるコードを作成する上記のコードをSWAP関数化する二つの変数の値の入れ替えまずはシンプルに2つの変数の値を入れ替えます。関数化は後で実施します。ソースコードコマンドpowershell -ExecutionPolicy RemoteSigned -File "swap.ps1"swap.ps1$data1 = "あいうえお"$data2 = "かきくけこ"Write-Host ("入れ替え前:" + $data1 + "," + $data2)# 値の入れ替え$temp = $data1$data1 = $data2$data2= $tempWrite-Host ("入れ替え後:" + $data1 + "," + $data2)Read-Ho...
雑記

【IT系】今まで会社でしか技術知識を使ってこなかったエンジニアの皆さん、テックブログを始めませんか

早速ですが、「今まで会社でしか技術知識を使ってこなかったです」という方、いませんか。この記事を見ている方々にも「自分のことだ」っていう人がいるかもしれません。しかしながら、「あなたの技術情報は世界が求めている」と言っても過言ではありません。すごくもったいない。今回はテックブログを書いていない方々向けに、記事を書こうと思います。なぜテックブログを始めるのかあなたの技術情報は貴重な情報である「あなたの技術情報は世界が求めている」、これは間違いありません。技術者A私は〇〇しかやってこなかったから・・・技術者B私は長年IT業界にいるけど、技術者らしいことやっていない・・・気にする必要はありません!あなたの技術、需要があります!例えばこのようなことありませんか?Excelを使っていて計算結果が合わず困った。そこで「関数の使い方」を検索するそうすると分かりやすい記事を見つかった。あなた(技術者)ならもっといい記事が書けるかもしれないです。非技術者から見れば、尚更あなたから後光が見えていることでしょう。案外みんな初歩的なことで困っています。あなたが手を動かして解決した情報は誰かの役に立ちます。読む側...
VBA

Excelのセルの末尾の余分な改行をまとめて削除するVBAのサンプルコード

Excelのセルの末尾の余分な改行をまとめて削除するVBAのサンプルコードを紹介します。仕様下記のシートのA列のように文末に余分に改行があるとします。※B列に補足を入れていますこれを以下のシートのように、余分な改行を削除するVBAを考えました。文章の途中の改行は残しつつ、文末の改行だけを消すのです。ソースコードソースコードは以下のとおりです。Option ExplicitSub deleteLineBreak() Dim i As Long For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row Dim CellValue As String CellValue = Worksheets("Sheet1").Cells(i, 1).value '文字数回繰り返す Dim j As Long For j = 1 To Len(CellValue) '最後の文字が改行コードの場合 If Right(CellValue, 1) = vbLf Or Right(CellValue, 1) = vbCr Then '最後の文字以外を格納 CellValue...
PowerShell

Excelの各セルのフォント名(フォントファミリー)を変更するPowerShellのサンプルコード

Excelの各セルのフォント名(フォントファミリー)を変更するPowerShellのサンプルコードを紹介します。仕様ローカルの任意の場所にPowerShellの*.ps1ファイルと、Excelファイルを格納します。「Book1.xlsx」のA列のセルのフォント名を変更してみます。後でPowerShellの実行前後を比較するため、B列にもA列の内容をコピーしておきます。PowerShell実行前のフォント名は游ゴシックです。これを以下のような別のフォント名に変更させます。セル位置実行前実行後A1游ゴシックMS PゴシックA2游ゴシックMS ゴシックA3游ゴシックMS 明朝A4游ゴシックメイリオA5游ゴシック游ゴシックソースコード以下のコマンドとps1ファイルを準備しておきます。コマンドpowershell -ExecutionPolicy RemoteSigned -File "setExcelFontName.ps1"setExcelFontName.ps1$excel = New-Object -ComObject Excel.Application$book = $null$exc...
VBA

郵便番号一覧から住所を求めていくREST APIを使ったVBAのサンプルコード(zipcloud版)

郵便番号一覧から住所を求めていく、REST APIを使ったVBAのサンプルコードを公開してみます。使用するWebAPIExcel単体で住所情報検索はできないので、下記「郵便番号検索API」の力を借ります。サービス名郵便番号検索API運営株式会社アイビスURL概要郵便番号検索APIは、日本郵便が公開している郵便番号データを検索する機能をRESTで提供しています。仕様画面仕様表のA列に住所を求めたい「郵便番号」の一覧を入力しています。表の右に住所出力の実行ボタンが配置されています。実行ボタンを押下すると、B列とC列に「住所」と「住所(カナ)」が出力されます。ソースコードSub ボタン1_Click() Dim objXMLHttp As Object, zipArr Dim yubinNo As String Dim splitLine() As String Dim i As Long i = 2 '行番号 Do While Cells(i, 1).value <> "" '入力値からハイフンの削除 yubinNo = Replace(Worksheets("Sheet1").Cells...
Excel

Excelで比較は=(イコール記号)よりexact関数を使う癖をつけたほうがいいよという記事

Excelで比較は=(イコール)よりExact関数を使う癖をつけたほうがいいよという記事ですExcelに慣れている人にとっては当たり前だと言われそうなんですけど、いまだにやる人がいるので。現象:exact関数を使わないと何が起こるのか「百聞は1件に如かず」ということで、何が起こるかまず紹介します。以下のように値1と値2を2種類の方法で比較して出力します。D列は想定する結果E列は 「=(イコール記号)」で比較F列は「exact関数」で比較イコール記号は分かりやすい比較なので、皆さんよくやります。しかし実行すると、exact関数のほうが正確な結果が出力されます。何でこんなことが起こるの?Excelの=(イコール記号)の比較は、大文字小文字の区別を厳密に行わないためです。そのため入力方式が選択式でない限りは、exact関数を使ったほうが無難です。exact関数とイコールの比較簡単に文字列パターンの比較結果をしてみました。文字列1文字列2=(equal記号)exact関数結果数字(全角)数字(半角)TrueTrue問題なし英文字(大文字)英文字(小文字)TrueFalseexact関数が正確英...