カテゴリー
Microsoft

Excel VBA を学ぶのに参考になっているページまとめ

環境

  • エクセル 2013

チュートリアル。起動方法から、オブジェクト指向まで。

VBA でクラスを扱うときのやり方。他の言語でのクラスとの比較が嬉しい。

複数データの扱いは、配列ではなくコレクションを使うのが良さそう。「vba コレクション」「vba コレクション for」で検索

コーディングスタイル。命名規則。

エディタの設定からプロジェクト例まで。一通り読んでエディタを設定しておくとよさそう。

CSV 取り込みについて

カテゴリー
Microsoft

OneDrive を英語表示から日本語表示に切り替える設定

ポイント

  • OneDrive ウェブページのフッター部分の一番右の言語名が表示されている部分が、言語設定

OneDrive の表示言語を英語から日本語に切り替える手順

  1. OneDrive にアクセスしてサインイン
    OneDrive ログイン後画面
  2. フッターの「Englis (United States)」をクリックして言語選択を表示。
    「日本語 – Japanese」を選択して、「Save」
    フッターから OneDrive の言語設定
  3. メニューが日本語表示になった。
    OneDrive の言語が日本語になった
カテゴリー
Microsoft

【ASP.NET MVC5】CSV エクスポートのサンプルプロジェクト作成チュートリアル

追記: インポート版も作りましたの♪

DB のデータを CSV に出力してウェブブラウザからダウンロードしたいですの!今回、それを実現するコードを残しておきますわ♪

CSV エクスポートの対象となるシステム

エクスポートされる CSV の仕様

  • ヘッダ行を出力する。
  • 1 行に Parent とその Child を 2 人分まで出力する。
  • セルは常にダブルクォーテーション「”」で囲む。
  • セルの区切り文字はカンマ「,」とする。
  • 行末に区切り文字は付けない。

「1 行に Parent とその Child を 2 人分まで出力」いたしますので、子供が 0 人の場合は子どもの部分が空白となりますし、1 人の場合は 1 人分のみ埋まります。Child が 3 人の場合は、2 人分のみ CSV に書き込まれ、3 人目は記録されない点に注意ですの!

手順 1. CSV エクスポート用のコントローラー、ビューを作成

カテゴリー
Microsoft

【ASP.NET MVC5】例外発生時のカスタムエラーページの設定ポイント♪

【ASP.NET MVC5】例外発生を補足して自動的にログ書き込みを行う方法 | oki2a24 ではエラーが発生したときに自動的にロギングされるように設定いたしました。

この時、エラーページが自動的に表示されるわけですけれども、これを明確にコントロールするためのポイントをメモしておきます♪

ポイント

  • HTTP 404. Not Found 時にはカスタムエラーページは表示されない。
  • コードの確認ポイント
    • Web.config の <system.web> 内の の mode を On にしていること
    • App_Start\FilterConfig.cs の RegisterGlobalFilters メソッド に HandleErrorAttribute クラスを追加していること
    • Views\Shared\Error.cshtml でエラー画面を設定していること

ひとつひとつコードを見ていきます。

カテゴリー
Microsoft

【ASP.NET MVC5】例外発生を補足して自動的にログ書き込みを行う方法

前提条件

ASP.NET MVC5 では、開発中に例外が発生しますとビューに自動的に例外情報を表示してくださいます。

本番の時も、自動的に知らせて欲しいですの!ですけれども、画面に表示するわけにはまいりません。ログに出力したいですの♪

今回、例外が発生したら自動的にログに書き込む方法を残します。

例外発生を自動的にロギングするコード

  • Global.asax ファイル を利用する。
  • Application_Error メソッド宣言には override 不要。
  • エラーは、Application_Error メソッドの引数ではなく、Server.GetLastError() で取得する。

Global.asax

protected void Application_Error(object sender, EventArgs e)
{
 var exception = Server.GetLastError();
 if (exception == null)
 {
  return;
 }
 logger.Error(exception.Message, exception);
}
カテゴリー
Microsoft

【ASP.NET MVC5】log4net でログレベルごとにログを出力する設定!、動的なログファイル命名設定!、ログファイルのサイズ指定設定!

【ASP.NET MVC5】log4net の導入手順メモ♪ | oki2a24 で log4net を MVC5 プロジェクトに導入する方法を確かめました。

今回は、log4net の設定について、ログレベルごとに違うファイルにログを出力する方法、動的なログファイル命名、ログファイルのサイズ指定を残します。

ログレベルで出力ファイルを変える Config の中身

カテゴリー
Microsoft

【ASP.NET MVC5】Bootstrap 拡張の DatePicker を使う手順とポイント

ポイント

  • 標準で日本語対応しているのが嬉しい。
  • DatePicker のフォーマットは yyyy-mm-dd とし、input date で使用するフォーマットに合わせること。これにより、DatePicker も input type date も両方使用できる。
  • Chrome や Edge だと input type date も、DatePicker for Bootstrap も両方有効になり、好きな方で操作できる。input type date の yyyy/MM/dd フォーマットで表示された。
  • Internet Explorer だと DatePicker が効いて yyyy-MM-dd フォーマットで表示される。
  • input date は IE が対応していないため、後数年もすれば input date で DatePicker と同等のことができるようになるであろう。そうすると、DatePicker for Bootstrap は不要となると思う。

導入流れ、使い方まとめ

DatePicker 導入までの流れ

  1. パッケージマネージャーコンソールから DatePicker をインストール
  2. Datepicker 動作用の JavaScript を書く。
  3. BuldleConfig に DatePicker と 動作用の JavaScript を読みこませるよう記述
  4. _Layout.cshtml などのビューに、BuldleConfig で設定したパスを記述

DatePicker を使用するには、の例まとめ

  • モデルのプロパティの DataType を Date に指定
  • モデルのプロパティの DisplayFormat の DateFormatString を yyyy-MM-dd に、ApplyFormatInEditMode を true に設定する。
  • ビューではタグの class に DatePicker 動作用のクラスを追加する。

DatePicker 導入の具体的な手順・コード

カテゴリー
Microsoft

Windwos で ログファイルを tail -f する方法

ポイント

  • PowerShell 3 以上を使用する。
  • コマンド
    Get-Content -Tail 10 -Wait -Path "C:\Path\To\logFile.log"
    
  • Windows のパスは途中で半角スペースが入ることがあるため、ダブルクォーテーション「”」で囲んでおく。

PowerShell のバージョン確認方法とアップグレード方法

カテゴリー
Microsoft

【ASP.NET MVC5】ちょっとしたお試しをするときに土台となるアプリの作り方チュートリアル

2016年8月16日追記: 本投稿のコードをアップいたしました。

追記: 【ASP.NET】【MVC5】お試しウェブアプリチュートリアルのエラーを解決 – oki2a24 で説明した通り、エラーを回避するために手順を一部変更しております。

サンプルアプリ概要

MVC 関係

  • スキャフォールディングで各テーブルのコントローラー、ビューをぱっと作って済ませる。
  • 認証なし

データベース関係

  • データベース名: ApplicationDb
  • テーブル
    • Parents
    • Children
    • Sexes ← 男、女が入っているだけのマスタテーブル
  • リレーション
    • Parents 1-n Children
    • Parents n-1 Sexes
    • Children n-1 Sexes
  • レコードから見るテーブルのリレーション表現は
    • Parents には Children 関係のカラムは無い。
    • Children は ParentsId カラムを持ち、親を指定する。
    • Parents と Children は SexId を持ち、性別を指定する。
    • Sexes には、他テーブル関係のカラムは無い。

それでは実際に作っていきましょう♪

カテゴリー
Microsoft

【ASP.NET MVC5】log4net の導入手順メモ♪

ロギングのライブラリ、log4net を使う理由

ログのライブラリを使う理由は、次の2つです。

  • ファイルのロック、排他制御をしてくれる
  • 自動的にローテーションをしてくれる

log4netNLog の2種類がメジャーなようです。

  • log4net の方が歴史が長く、インターネット上の知見が多い。
  • log4net の方が「枯れた技術」となっていそう。
  • NLog の方が更新されている。
  • NLog の方がパフォーマンスが優れている、というページがある。

今回は、歴史とノウハウが大きいという理由で log4net を採用いたしました。

では早速導入手順を残してまいります。2種類のやり方を解説いたします。

どちらもASP.NET MVC5 プロジェクトを作成し、アクティブになっている状態からスタートです♪

【log4net を ASP.NET MVC5 プロジェクトに導入する方法1】Web.config にログ設定を書くやり方