カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

PowerShellでハッシュ値を確認

Linuxにはmd5sum等、ハッシュ値を確認するコマンドがありますが、Windows PowerShellでは使えません。
その代わり、get-filehashがありますので、それを使いましょう。(PowerShell ver4以降)

> get-filehash <file>

結果

MD5などアルゴリズムを指定する場合

> get-filehash -algorithm md5 <file>

結果

1,501 views

Windows10 未使用のIE11をアンインストールする

Windows10ではデフォルトのブラウザが「Microsoft Edge」となっていますが、古いブラウザ「Internet Explorer 11(IE11)」が未だに残った状態になっています。

IE11が残っていることにより、ふとした時(例えばアプリケーションからブラウザが開いた時)にIE11が起動してしまうことが稀にあります。

そういった事態を避けるため、予めIE11をアンインストールしておくほうが安全かと思われます。

  1. Windowsマーク(スタート)から「コントロールパネル」を開きます。
  2. 「プログラムと機能」を開きます。
  3. 「Windowsの機能の有効化または無効化」を開きます。
  4. フォルダツリーの中にある「Internet Explorer 11」のチェックを解除します。

    解除するときに確認メッセージが表示されるので「はい」を押します。
  5. 変更が完了したら再起動して作業は終了です。
689 views

変換しながらの文章入力がおかしいなと思ったとき

Windows10を使っていて、文章の入力がどうもうまくいかないなと思うことがあったので、その問題と解決法についてご紹介します。

まず、どういう事象かとご説明しますと、何か文章を入力しているとします。
漢字を変換しながら入力していきますが、変換したとき、Enterを押して確定せずに次の入力を始めるとその変換が自動的に確定されるようになっていると思います。
言わずもがなの仕様ですよね。

しかしながら、Windows10を使っているとおかしなことに、変換し次の入力をが自動的に確定され次の入力を開始した際、直近のキー入力が認識されないという現象が発生します。
言葉で説明しようとすると難しく、伝わらないかもしれないので、順を追って説明します。

例として「変換する」と入力するとします。

  1. 「へんかん」と入力し変換します。
  2. 「変換」と表示された段階でEnterを押さずに「する」と入力しEnterを押します。

上記の方法で入力された結果が「変換うる」となってしまうという現象です。
これは変換後の「する」の「suru」のうち、「s」だけが認識されないということです。
このような現象が発生すると文章を入力する上で非常にストレスを感じてしまいます。
解消方法を以下にご紹介しますので、同じ現象でお困りの方はぜひ試してみてください。


  1. 設定を開き、「ime」と検索します。
  2. 全般をクリックします。
  3. 下にスクロールし、「互換性」のところの「以前のバージョンのWindows IMEを使う」をオンに変更します。
  4. 変更確認のアラートが表示されますので、OKを押してください。
  5. 以下のような表示になっていればOKです。

これで問題なく入力できるようになると思いますので、お試しください。

686 views

ACCCESS レコード移動のエラー回避

ACCESSのフォームにレコード移動のボタンを追加し、前後のレコード移動が出来るようにするときのエラー回避についてです。
例えば、カレントレコードが最終レコードのときに次のレコードへ移動しようとするとエラーが発生します。
それを回避するために基本的には次のように処理します。

Private Sub 次へ_Click()
On Error Resume Next

    DoCmd.GoToRecord , , acNext

End Sub

On Error Resume Nextは「エラーが発生した場合、無視して次のコードへ進む」という意味です。

レコード移動のボタンには前述のようにエラーを無視するよう処理を記述しますが、
私はそれ以前に移動可能な場合のみボタンが押せるようにしています。

フォームのレコード移動時イベントに以下を記述します。

If Me.CurrentRecord = Me.Recordset.RecordCount Then
    次へ.Enabled = False
Else
    次へ.Enabled = True
End If

If Me.CurrentRecord = 1 Then
    前へ.Enabled = False
Else
    前へ.Enabled = True
End If

現在表示中のデータが最終レコードであれば「次へ」ボタンを押せないよう無効にし、
先頭レコードであれば「前へ」ボタンを押せないように無効にしています。

6,749 views

InputBoxのキャンセル

VisualBasicでInputBoxを使う際、キャンセルされた時は長さ0の文字列を返しますが、何も入力せずOKを押した時も同様に長さ0の文字列が返ってきます。

キャンセルの判定をして、それに伴った処理をしたい場合に困ってしまいます。
そんな時には以下のようにするとキャンセルの判定ができます。

Dim ans As String       'InputBoxの戻り値
Dim boolFlag As Boolean '判定フラグ
boolFlag = False
Do Until boolFlag = True
    ans = InputBox("入力してください")
    If StrPtr(ans) = 0 Then Exit Sub 'キャンセル時に終了
    boolFlag = True
Loop
2,938 views