2017年4月30日

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

今日なんかちょっとヒマだったので、試しに忍者アクセスランキングを作成してみました。

作り方は、超簡単です。

説明するまでもないのですが、一応手順です。

まず、http://www.ninja.co.jp/にアクセスします。


アクセスしたら、「忍者アクセスランキング」をクリック。



「さっそく始める」をクリック。



「利用規約に同意して次へ」をクリック。



好きなテンプレートを選んで「次へ」をクリック。
(デザインは後から変えられます。)



サイト情報を入力して「タグ発行へ」をクリック。



あとは、「ランキングデータ取得用コード」をサイトの<body></body>タグの間に貼り付け、「ランキング表示用コード」をブログのサイドバーなどに貼り付けたら出来上がりです。


で、実際のランキングが↓コレ


ただ、これってリンクを設置してくれてるサイトがないとあまり意味ないですよね。

どうすればリンクを貼ってくれるか。

当たり前ですが、良質なコンテンツを提供するのみですね。
他のサイトから参考とされるような記事が書けるように頑張りたいです。


2017年4月29日

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


オブジェクトをCSV文字列に変換するには、ConvertTo-Csvを使用します。

たとえば、Get-ChildItemでこのように取得できるフォルダがあるとします。
PS C:\work\image1> Get-ChildItem


    ディレクトリ: C:\work\image1


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       2016/10/15      0:20         425167 aaaa.jpg
-a----       2016/10/10     10:14         245901 bbbb.jpg
-a----       2016/10/10     10:05         194315 cccc.jpg
-a----       2016/10/10     10:13         235320 dddd.jpg
-a----       2016/10/15      0:19         852563 eeee.jpg
-a----       2016/10/15     19:06         593126 ffff.jpg
-a----       2016/10/15      0:21         607218 gggg.jpg

このGet-ChildItemで得られる情報をCSVに変換するには次のようにします。
PS C:\work\image1> Get-ChildItem | Select-Object Name, LastWriteTime, Length | ConvertTo-Csv
#TYPE Selected.System.IO.FileInfo
"Name","LastWriteTime","Length"
"aaaa.jpg","2016/10/15 0:20:20","425167"
"bbbb.jpg","2016/10/10 10:14:04","245901"
"cccc.jpg","2016/10/10 10:05:19","194315"
"dddd.jpg","2016/10/10 10:13:35","235320"
"eeee.jpg","2016/10/15 0:19:45","852563"
"ffff.jpg","2016/10/15 19:06:09","593126"
"gggg.jpg","2016/10/15 0:21:41","607218"
ここでは、Select-Objectを使い取得するプロパティを限定しています。


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           % -> ForEach-Object
Alias           ? -> Where-Object
Alias           ac -> Add-Content
Alias           asnp -> Add-PSSnapin
Alias           cat -> Get-Content
Alias           cd -> Set-Location
Alias           CFS -> ConvertFrom-String                          3.1.0.0    Microsoft.PowerShell.Utility
Alias           chdir -> Set-Location
Alias           clc -> Clear-Content
Alias           clear -> Clear-Host
Alias           clhy -> Clear-History
Alias           cli -> Clear-Item
Alias           clp -> Clear-ItemProperty
・・・


特定のエイリアスのみ取得

PS C:\work> Get-Alias -Name m*

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Alias           man -> help
Alias           md -> mkdir
Alias           measure -> Measure-Object
Alias           mi -> Move-Item
Alias           mount -> New-PSDrive
Alias           move -> Move-Item
Alias           mp -> Move-ItemProperty
Alias           mv -> Move-Item
この例では、mから始まるエイリアスのみ取得しています。


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 5

#ジョブの停止
Stop-Job -Name "JobA"

Write-Host "停止"
Get-Date -Format G

Write-Host ""

#ジョブ取得
Get-Job -Name "JobA"

Remove-Job -Name "JobA"

実行結果
Id     Name            PSJobTypeName   State         HasMoreData     Location             Command                  
--     ----            -------------   -----         -----------     --------             -------                  
21     JobA            BackgroundJob   Running       True            localhost            ...                      
開始
2017/04/26 22:34:20
停止
2017/04/26 22:34:25

21     JobA            BackgroundJob   Stopped       True            localhost            ...                      



PS C:\work> 
"JobA"は、10秒かかるジョブですが、ジョブが開始されてから5秒後に停止しています。


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
        }
        Write-Host "ジョブBが完了しました。"
     }

#JobC
$c = {
        for($i = 0; $i -le 5; $i++){
            Start-Sleep -s 2
        }
        Write-Host "ジョブCが完了しました。"
     }

#ジョブの開始
Start-Job -Name "JobA" $a
Start-Job -Name "JobB" $b
Start-Job -Name "JobC" $c

#実行中のすべてのジョブが完了するまで待機し、結果を受け取る
Get-Job -State Running | Wait-Job | Receive-Job

#ジョブの削除
Remove-Job -Name "JobA"
Remove-Job -Name "JobB"
Remove-Job -Name "JobC"

実行結果
Id     Name            PSJobTypeName   State         HasMoreData     Location             Command                  
--     ----            -------------   -----         -----------     --------             -------                  
35     JobA            BackgroundJob   Running       True            localhost            ...                      
37     JobB            BackgroundJob   Running       True            localhost            ...                      
39     JobC            BackgroundJob   Running       True            localhost            ...                      
ジョブAが完了しました。
ジョブBが完了しました。
ジョブCが完了しました。

Start-Jobでジョブが開始されますが、すぐに呼び出し元に制御が戻りますので、別の処理が実行できます。
上の例では、"JobA"という名前のジョブを実行したあとに、すぐに"JobB"、"JobC"というジョブを実行しています。

そして、Wait-Jobで実行中のジョブがすべて完了するまで待機し、ジョブが完了したらReceive-Jobで結果を受け取っています。

ちなみにジョブの結果表示は、開始したジョブの順番のようです。
"JobA"が一番時間がかかるのですが、結果では一番最初に表示されています。


2017年4月24日

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


エラーを発生させるにはthrowステートメントを用います。

throw [メッセージやオブジェクト]


throw "error!error!error!"

trap{
    Write-Host "エラーが発生しました。"
}

実行結果
エラーが発生しました。
error!error!error!
発生場所 行:4 文字:1
+ throw "error!error!error!"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (error!error!error!:String) [], RuntimeException
    + FullyQualifiedErrorId : error!error!error!

このthrowステートメントで発生させたエラーは、trapやtry...catch...finallyで捕捉することが出来ます。


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{
    $a = 5 / 0
}catch{
    Write-Host "エラーが発生しました。"
    Write-Host $_
}finally{
    Write-Host "答えは" $a
}

実行結果
エラーが発生しました。
0 で除算しようとしました。
答えは 
エラーが発生すると、エラーオブジェクトが自動変数$_に格納されます。
上の例では、catchブロックで$_を表示させています。


例3

特定の例外をキャッチする
try{
    $a = 5 / 0
}catch [System.DivideByZeroException]{
    Write-Host "値を 0 で除算しました。"
    Write-Host $_
}catch{
    Write-Host "エラーが発生しました。"
    Write-Host $_
}finally{
    Write-Host "答えは" $a
}

実行結果
値を 0 で除算しました。
0 で除算しようとしました。
答えは 
catchブロックで特定の例外を捕捉することが出来ます。
この例では、[System.DivideByZeroException]で0除算でスローされる例外をキャッチしています。


<参考サイト>
about_Try_Catch_Finally | Microsoft Technet


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: (:) [], RuntimeException
    + FullyQualifiedErrorId : RuntimeException
 
答えは 0
エラーが発生したあと、trapステートメントの処理が実行され後にエラーメッセージが表示され、その後次の処理が実行されます。


例2

breakを使ったtrap処理
$a = 5 / 0
Write-Host "答えは" $a

trap{
    Write-Host "エラーが発生しました。"
    break
}

実行結果
エラーが発生しました。
0 で除算しようとしました。
発生場所 行:3 文字:1
+ $a = 5 / 0
+ ~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : RuntimeException
 
breakを使うと、エラーが発生したあと、trapステートメントの処理が実行され後にエラーメッセージが表示され、その後の処理は実行されずにそのまま終了します。


例3

continueを使ったtrap処理
$a = 5 / 0
Write-Host "答えは" $a

trap{
    Write-Host "エラーが発生しました。"
    continue
}

実行結果
エラーが発生しました。
答えは 0
continueを使うと、エラーが発生したあと、trapステートメントの処理が実行され後にエラーメッセージは表示されず、その後次の処理が実行されます。


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 C:\work\image1> &{ $a = 20 * 30; $a }
600


例2

以前、関数の例として、次のような処理を記述しましたが、
function 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
ファイルは以上です。

これを、スクリプトブロックで記述すると次のようになります。
PS C:\work\image1> Get-ChildItem | &{$input.Name; Write-Host "ファイルは以上です。"}
aaaa.jpg
bbbb.jpg
cccc.jpg
dddd.jpg
eeee.jpg
ffff.jpg
gggg.jpg
ファイルは以上です。

簡単な処理ならスクリプトブロックを使ったほうが楽そうです。


2017年4月19日

【PowerShell】フィルタ


フィルタ(filter)はfunctionに似ていますが、オブジェクトをフィルタリングするための関数と言っていいと思います。
functionではパイプラインからの入力を処理する際、begin、process、endキーワードを使って行っていましたが、filterは、そのbeginブロックとendブロックが必要ない場合に使えそうです。

以下に、サイズが400000Byteを超えるファイルを表示する例を示します。
filter Get-Over400000Size {
    if ($_.Length -gt 400000){
        Write-Host $_.Name $_.Length
    }
}

実行結果
PS C:\work\image1> Get-ChildItem | Get-Over400000Size
aaaa.jpg 425167
eeee.jpg 852563
ffff.jpg 593126
gggg.jpg 607218


2017年4月18日

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


パイプラインからの入力を関数で読み取ることが出来ます。

例1

function 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にパイプラインからの入力オブジェクトが格納され、ファイル名が列挙されます。


例2

begin、process、endキーワードを使うことで、入力されたオブジェクトに対して処理を行うことが出来ます。
例として、入力されたオブジェクトの中で一番大きなサイズのファイルを見つけ出す処理を示します。
function Get-MaxFileSize {
    begin{
        $fileName = ""
        $fileSize = 0
    }
    process{
        Write-Host $_.Name $_.Length
        if ($_.Length -gt $fileSize){
            $fileName = $_.Name
            $fileSize = $_.Length
        }
    }
    end{
        Write-Host "一番大きいファイルは" $fileName  "サイズは" $fileSize "Byteです。"
    }
}

実行結果
PS C:\work\image1> Get-ChildItem | Get-MaxFileSize
aaaa.jpg 425167
bbbb.jpg 245901
cccc.jpg 194315
dddd.jpg 235320
eeee.jpg 852563
ffff.jpg 593126
gggg.jpg 607218
一番大きいファイルは eeee.jpg サイズは 852563 Byteです。
beginブロックは最初の1回だけ呼ばれ、endブロックは最後の1回だけ呼ばれます。
また、自動変数$_にその時の入力オブジェクトが格納されています。


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> .\ScriptArgsTest1.ps1 北海道 山田
こんにちは! 北海道 にお住いの 山田 さん。


$args

次に、$args配列を利用した方法です。

Write-Host "こんにちは!" $args[0] "にお住いの" $args[1] "さん。"
この方法は、配列で受け取っているので名前でアクセスできませんが、あらかじめ変数を用意してあげる必要もないのでシンプルな方法とも言えます。

実行結果
PS C:\work\powershell> .\ScriptArgsTest2.ps1 東京 佐藤
こんにちは! 東京 にお住いの 佐藤 さん。


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 例

$i = 0

while($i -lt 5)
{
    Write-Host $i
    $i++
}


do...while 例

$i = 0

do{
    Write-Host $i
    $i++
}while($i -lt 5)


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 より小さい
-le 以下
-like ワイルドカードによる比較
-notlike -like演算子がfalseを返すような場合。
-match 正規表現による比較
-notmatch 正規表現による比較。-match演算子がfalseを返すような場合。
-contains リストに値が含まれる場合
-notcontains -contains演算子がfalseを返すような場合
-is 指定の.NET型の場合
-isnot -is演算子がfalseを返すような場合


2017年4月7日

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


今日仕事でフォルダ構成のみをコピーしたいといったことがあって、ネットでいろいろ調べたのですが、どうもPowerShellではうまいやり方がないみたいなんですよね。

xcopyでは、「xcopy /t /e [コピー元パス] [コピー先パス]」という簡単な記述で出来てしまうのですが、PowerShellではこういう簡潔に書ける方法は無いみたいなんです。

それで、何かいい方法はないかといろいろ試行錯誤した結果、次のようなやり方を考えました。

PS C:\work> Copy-Item .\folder1\* .\folder2\ -Recurse; Get-ChildItem -Recurse .\folder2\* | ? { ! $_.PSIsContainer } | Remove-Item

この例では、C:\workフォルダの直下にfolder1とfolder2というフォルダがあって、folder1にはサブフォルダがあって、さらにファイルも存在しています。
treeコマンドで見るとこんな感じです。
PS C:\work\folder1> tree /f
フォルダー パスの一覧
ボリューム シリアル番号は 000000C1 A0A4:0DBD です
C:.
├─aaa
│  ├─111
│  │      12345.txt
│  │
│  └─222
├─bbb
└─ccc

このfolder1配下の構成をファイル無し、つまりフォルダ構成のみをfolder2配下にコピーします。

結果はこのようになります。
PS C:\work\folder2> tree /f
フォルダー パスの一覧
ボリューム シリアル番号は 00000077 A0A4:0DBD です
C:.
├─aaa
│  ├─111
│  └─222
├─bbb
└─ccc


実際には、一度ファイルも含めてすべてコピーして、そしてコピー先からファイルだけを削除するといったことを行っています。
また2つの処理を「;」セミコロンを使って1行に記述しています。

ですのでファイル数が多くなってくると処理に時間が掛かってくるような気がします。

まあ、ちょっとあまりいい方法とはいえないかもしれませんが、苦肉の策ということで許してください。


2017年4月6日

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


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

[F5] または [Ctrl] + [G]

たとえばいま、セルB4にカーソルがあったとします。



ここで、[F5] または [Ctrl] + [G] を押します。



すると、「ジャンプ」ダイアログが表示されますので、参照先にセルの番地を入力し[OK]を押します。



するとカーソルが指定した番地に移動しました。


そして、ここでもう一度[F5] または [Ctrl] + [G] を押し、

「移動先」に表示されている「$B$4」を選択し、[OK]を押すと、



カーソルがセルB4に移動しました。



この「移動先」に表示されている番地は、これまでジャンプした履歴です。
また、参照先には、セルの番地ではなく「名前」を指定してもジャンプできます。


特定のセルを頻繁に参照する場合などに役立つのではないでしょうか。

2017年4月5日

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


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

[Alt] + [↓]

たとえばこのようなデータが入力されたシートがあったとします。


ここで、セルB6を選択し、[Alt] + [↓] を押します。


すると、すぐ上の入力データが選択リストとなって表示されます。

ちなみにこれは、データの上側(この例ではB2)で実行しても表示されます。

同じデータを連続で入力しなければならない時などに役立つのではないでしょうか。


2017年4月4日

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


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

[Shift] + [→]  ・・・左右に拡大
[Shift] + [←]  ・・・左右に縮小
[Shift] + [↑]  ・・・上下に拡大
[Shift] + [↓]  ・・・上下に縮小

たとえばこのような四角のオブジェクトがあったとします。



ここで、[Shift] + [→] を実行すると、



左右に拡大されました。


次に、[Shift] + [↑] を実行すると、



上下に拡大されました。


2017年4月3日

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

最近、マイクロソフトを装った不審メールが出回っているらしいです。

それを聞いて、「ふーん、そうなんだ」ぐらいにしか思っていなかったのですが、今日、念のため自分のメールアカウントを調べたところ、なんと迷惑メールの中に入っていました。マジかよ!?


恐る恐るメールを開いて内容を確認してみると、ニュースなどで報道されている内容と全く一緒でした。



差出人:マイクロソフト安全認証チーム

件名:[大切]マイクロソフトのプロダクトキーが不正コピーされた警告です!


内容は、オフィスソフトのプロダクトキーが違法コピーされた恐れがあるから検証作業をしてくれというもの。おそらく、個人情報やクレジットカードの情報を搾取するフィッシングサイトと思われます。


分かってると思いますが、絶対に「今すぐ認証」を押さないように。

押すなよ!

押すなよ!

これはほんとにフリじゃないんで押さないように。(笑)


※不審メールの詳細についてはこちらをご覧ください。
Microsoft Officeをかたるフィッシングに注意、今年に入って4度目 | マイナビニュース
マイクロソフトを装った不審メールの配信について/日本マイクロソフト