2017年4月30日

忍者アクセスランキングを試してみる

今日なんかちょっとヒマだったので、試しに忍者アクセスランキングを作成してみました。 作り方は、超簡単です。 説明するまでもないのですが、一応手順です。 まず、http://www.ninja.co.jp/にアクセスします。 アクセスしたら、「忍者アクセスランキング」をクリック。 「さっそく始める」をクリック。 「利用規約に同意して次へ」をクリック。 好きなテンプレートを選んで「次へ」をクリック。 (デザインは後から変えられます。) サイト情報を入力して「タグ発...

2017年4月29日

【PowerShell】オブジェクトをCSVに変換する

オブジェクトをCSV文字列に変換するには、ConvertTo-Csvを使用します。 例たとえば、Get-ChildItemでこのように取得できるフォルダがあるとします。 PS C:\work\image1> Get-ChildItem ディレクトリ: C:\work\image1 Mode LastWriteTime Length Name ---- ------------- ...

2017年4月28日

【PowerShell】エイリアスの設定

Set-Aliasでエイリアスの設定が出来ます。 構文 Set-Alias [-Name] <エイリアス名> [-Value] <コマンド名> 例PS C:\work> Set-Alias -Name gd -Value Get-Date PS C:\work> PS C:\work> gd 2017年4月28日 20:24:29 この例では、Get-Dateのエイリアスとしてgdと設定しました。 実際にgdを実行してみると、現在の日時が表示さ...

2017年4月27日

【PowerShell】エイリアスの取得

Get-Aliasでエイリアスの一覧を取得できます。 例PS C:\work> Get-Alias CommandType Name Version Source ----------- ---- ------- ------ Alias % ->...

2017年4月26日

【PowerShell】ジョブを停止する

実行中のジョブを停止するには、Stop-Jobを使用します。 例$a = { for($i = 1; $i -le 10; $i++){ Start-Sleep -s 1 } Write-Host "ジョブAが完了しました。" } #ジョブの開始 Start-Job -Name "JobA" $a Write-Host "開始" Get-Date -Format G #5秒待機 Start-Sleep -s...

2017年4月25日

【PowerShell】バックグラウンドジョブの実行

時間のかかる処理などをバックグランドで実行させることが出来ます。 例#JobA $a = { for($i = 0; $i -le 9; $i++){ Start-Sleep -s 2 } Write-Host "ジョブAが完了しました。" } #JobB $b = { for($i = 0; $i -le 3; $i++){ Start-Sleep -s 2 ...

2017年4月24日

【PowerShell】エラーを発生させる(throw ステートメント)

エラーを発生させるにはthrowステートメントを用います。 throw [メッセージやオブジェクト] 例throw "error!error!error!" trap{ Write-Host "エラーが発生しました。" } 実行結果 エラーが発生しました。 error!error!error! 発生場所 行:4 文字:1 + throw "error!error!error!" + ~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo ...

2017年4月23日

【Excel】Bloggerのフィード情報を読み込んで記事のリンクタグを作成するマクロを作ってみた

最近、このブログの記事数がかなりの数になってきまして過去記事を探すのに苦労するようになってきてしまいました。 そこで固定ページを作って簡単に記事を見つけられるようにしようと思ったのですが、なかなかいい方法が見つかりません。javascriptでサイトマップを作成するという方法もあるようなのですが、javascriptはあまり詳しくないので断念しました。 そこで、以前『Excel VBAでWebサービス - Excelでフィードを読もう(RSS2.0編)』というのがあったということを思い出...

2017年4月22日

【PowerShell】エラー処理(try...catch...finallyステートメント)

PowerShell2.0以降では、try...catch...finallyステートメントが使えます。 例1基本的なtry...catch...finally処理 try{ $a = 5 / 0 }catch{ Write-Host "エラーが発生しました。" }finally{ Write-Host "答えは" $a } 実行結果 エラーが発生しました。 答えは エラーが発生すると、catchブロックの処理が行われ、最後にfinallyブロックの処理が実行されます。 finallyブロックは、エラーの発生にかかわらず実行されます。 また、finallyブロックは省略できます。 例2エラー内容を表示させる try{ ...

2017年4月21日

【PowerShell】エラー処理(trapステートメント)

trapステートメントを用いることで、エラーが発生したときに何かメッセージなどの処理を行うことができます。 例1基本となるtrap処理 $a = 5 / 0 Write-Host "答えは" $a trap{ Write-Host "エラーが発生しました。" } 実行結果 エラーが発生しました。 0 で除算しようとしました。 発生場所 行:5 文字:1 + $a = 5 / 0 + ~~~~~~~~~~ + CategoryInfo : NotSpecified:...

2017年4月20日

【PowerShell】スクリプトブロック

PowerShellには{}で囲って一つのユニットとして使えるようにしたスクリプトブロックというものがあります。 例1たとえばこのようなスクリプトブロックを変数$sに代入したとします。 PS C:\work\image1> $s = { $a = 20 * 30; $a } これを次のように実行します。 PS C:\work\image1> $s $a = 20 * 30; $a PS C:\work\image1> &$s 600 ただ$sと実行した場合には、スクリプトブロックの中身が表示されただけでしたが、&$sと実行した場合はスクリプトブロック内の処理が実行されました。 スクリプトブロックを関数のように実行したい場合は、呼び出し演算子&を付けて実行します。 また、この処理は次のように実行しても同じです。 PS...

2017年4月19日

【PowerShell】フィルタ

フィルタ(filter)はfunctionに似ていますが、オブジェクトをフィルタリングするための関数と言っていいと思います。 functionではパイプラインからの入力を処理する際、begin、process、endキーワードを使って行っていましたが、filterは、そのbeginブロックとendブロックが必要ない場合に使えそうです。 例以下に、サイズが400000Byteを超えるファイルを表示する例を示します。 filter Get-Over400000Size { if ($_.Length...

2017年4月18日

【PowerShell】関数でパイプラインから入力を読み込む

パイプラインからの入力を関数で読み取ることが出来ます。 例1function Get-FileName { $input.Name Write-Host "ファイルは以上です。" } 実行結果 PS C:\work\image1> Get-ChildItem | Get-FileName aaaa.jpg bbbb.jpg cccc.jpg dddd.jpg eeee.jpg ffff.jpg gggg.jpg ファイルは以上です。 自動変数$inputにパイプラインからの入力オブジェクトが格納され、ファイル名が列挙されます。 例2begin、process、endキーワードを使うことで、入力されたオブジェクトに対して処理を行うことが出来ます。 例として、入力されたオブジェクトの中で一番大きなサイズのファイルを見つけ出す処理を示します。 function...

2017年4月17日

【PowerShell】関数

PowerShellで関数を作成するには、functionステートメントを使います。 構文 funciton [関数名]{ コマンド } 例例として西暦年から和暦年(平成)を算出する関数を示します。 function Get-Heisei{ $heisei = $args[0] - 1988 return($heisei) } 実行結果 PS C:\work> Get-Heisei 2017 29 注意してほしいのは、functionをスクリプト内で実行する場合...

2017年4月16日

【PowerShell】スクリプトで引数を受け取る方法

PowerShellのスクリプトで引数を受け取るには二通りの方法があります。 paramまずはparamステートメントを使った方法です。 param($pref, $name) Write-Host "こんにちは!" $pref "にお住いの" $name "さん。" param()に受け取る引数を順番に指定します。この方法を使うと引数に名前でアクセスできるようになります。また、引数に型を指定できるので、間違った引数の入力を防ぐことができます。 実行結果 PS C:\work\powershell>...

2017年4月15日

【PowerShell】タスクスケジューラーで「ユーザーアカウント制御」のダイアログを表示しないで実行する

タスクスケジューラーで「ユーザーアカウント制御」のダイアログを表示しないで実行する方法です。 たとえば、このようなコマンドが書かれたスクリプトを実行したいとします。 Start-Process cmd.exe -Verb runas このスクリプトをタスクスケジューラーで普通に実行すると、「ユーザーアカウント制御」のダイアログが表示されてきてしまいます。 大抵、スケジューラーで実行する場合、処理は自動で行われてほしいのでダイアログが表示されてボタンをクリックする操作などはしたくないも...

2017年4月14日

【PowerShell】foreach ステートメント

foreach ステートメントの書き方です。 構文foreach (変数 in 配列やコレクション){ [配列やコレクションの要素数分繰り返される処理] } 例$array = 1,2,3,4,5,6,7,8,9,10 $sum = 0 foreach ($a in $array){ $sum = $sum + $a }...

2017年4月13日

【PowerShell】for ステートメント

for ステートメントの書き方です。 構文for (初期化;条件文;インクリメント){ [条件文が真のあいだ実行される処理] } 例$sum = 0 for ($i = 1; $i -le 10; $i++){ $sum = $sum + $i }...

2017年4月12日

【PowerShell】while、do...while ステートメント

繰り返しに使うwhile、do...while ステートメントの書き方です。 whileステートメントwhile(条件文) { [条件が真のとき繰り返される処理] } do...while ステートメントdo{ [条件が真のとき繰り返される処理] }while(条件文) whileとdo...whileの違いは、条件判定が先か後の違いです。 ですので、whileの場合、最初の条件判定がfalseなら一度も処理を実行しないで終わりますが、do...whileの場合、かならず最初の1回は処理が実行されることになります。 while...

2017年4月11日

【Excel】選択したセルの外枠罫線を削除するショートカット

選択したセルの外枠罫線を削除するショートカットです。 [Ctrl] + [Shift] + [_] 例たとえば、このような罫線が引かれたセルがあるとします。 ここで、この罫線の内側のセルを選択します。 そして、[Ctrl] + [Shift] + [_] を実行。 すると、罫線が削除されました。...

2017年4月10日

【Excel】選択したセルの外枠罫線を引くショートカット

択したセルの外枠罫線を引くショートカットです。 [Ctrl] + [Shift] + [&] 例たとえば、このように選択されたセルがあったとします。 ここで、[Ctrl] + [Shift] + [&] を実行。 すると、選択したセルの外枠に罫線が引かれました。...

2017年4月9日

【PowerShell】論理演算子

PowerShellの論理演算子には次ようなものがあります。 演算子 意味 -and 論理積 -or 論理和 -xor 排他的論理和 -not 論理否定 ...

2017年4月8日

【PowerShell】比較演算子

PowerShellの比較演算子は次ようなものがあります。既定では大文字/小文字を区別しません。大文字/小文字を区別するには-cプレフィックスを付けます。 演算子 意味 -eq 等しい -ne 等しくない -gt より大きい -ge 以上 -lt ...

2017年4月7日

【PowerShell】フォルダ構成のみをコピーする

今日仕事でフォルダ構成のみをコピーしたいといったことがあって、ネットでいろいろ調べたのですが、どうもPowerShellではうまいやり方がないみたいなんですよね。 xcopyでは、「xcopy /t /e [コピー元パス] [コピー先パス]」という簡単な記述で出来てしまうのですが、PowerShellではこういう簡潔に書ける方法は無いみたいなんです。 それで、何かいい方法はないかといろいろ試行錯誤した結果、次のようなやり方を考えました。 PS C:\work> Copy-Item...

2017年4月6日

【Excel】指定のセルへジャンプするダイアログを表示するショートカット

指定のセルへジャンプするダイアログを表示するショートカットです。 [F5] または [Ctrl] + [G] 例たとえばいま、セルB4にカーソルがあったとします。 ここで、[F5] または [Ctrl] + [G] を押します。 すると、「ジャンプ」ダイアログが表示されますので、参照先にセルの番地を入力し[OK]を押します。 するとカーソルが指定した番地に移動しました。 そして、ここでもう一度[F5] または [Ctrl] + [G] を押し、 「移動先」に表示さ...

2017年4月5日

【Excel】上下に隣接するデータをリスト表示するショートカット

上下に隣接するデータをリスト表示するショートカットです。 [Alt] + [↓] 例たとえばこのようなデータが入力されたシートがあったとします。 ここで、セルB6を選択し、[Alt] + [↓] を押します。 すると、すぐ上の入力データが選択リストとなって表示されます。 ちなみにこれは、データの上側(この例ではB2)で実行しても表示されます。 同じデータを連続で入力しなければならない時などに役立つのではないでしょうか。...

2017年4月4日

【Excel】オブジェクトの大きさを調整するショートカット

オブジェクトの大きさを調整するショートカットです。 [Shift] + [→]  ・・・左右に拡大 [Shift] + [←]  ・・・左右に縮小 [Shift] + [↑]  ・・・上下に拡大 [Shift] + [↓]  ・・・上下に縮小 例たとえばこのような四角のオブジェクトがあったとします。 ここで、[Shift] + [→] を実行すると、 左右に拡大されました。 次に、[Shift] + [↑] を実行すると、 上下に拡大されました。...

2017年4月3日

【注意】マイクロソフトを装った怪しいメールが来た

最近、マイクロソフトを装った不審メールが出回っているらしいです。 それを聞いて、「ふーん、そうなんだ」ぐらいにしか思っていなかったのですが、今日、念のため自分のメールアカウントを調べたところ、なんと迷惑メールの中に入っていました。マジかよ!? 恐る恐るメールを開いて内容を確認してみると、ニュースなどで報道されている内容と全く一緒でした。 差出人:マイクロソフト安全認証チーム 件名:[大切]マイクロソフトのプロダクトキーが不正コピーされた警告です! 内容は、オフィスソフトのプロダクトキーが違法コピーされた恐れがあるから検証作業をしてくれというもの。おそらく、個人情報やクレジットカードの情報を搾取するフィッシングサイトと思われます。 分かってると思いますが、絶対に「今すぐ認証」を押さないように。 押すなよ! 押すなよ! これはほんとにフリじゃないんで押さないように。(笑) ※不審メールの詳細についてはこちらをご覧ください。 Microsoft...