C#
(.Net)C#から遅延バインディングでExcelファイルに読み書きするで、C#からExcelへ遅延バインディングを使ったアクセスを書きましたが、今回は任意の範囲のデータの並び替え(ソート)を行う方法です。 並び替えはRangeオブジェクトの Sort メソッドで設定でき…
(.Net)C#から遅延バインディングでExcelファイルに読み書きするで、C#からExcelへ遅延バインディングを使ったアクセスを書きましたが、今回はオートフィルタを設定する方法です。 Rangeオブジェクトの AutoFilter メソッドで設定できます。 例えば、A1:B5の…
(.Net)C#から遅延バインディングでExcelファイルに読み書きするで、C#からExcelへ遅延バインディングを使ったアクセスを書きましたが、今回は列幅、行高さを変更する方法です。 Rangeオブジェクトの ColumnWidth と、RowHeight で指定できるようです。 例え…
(.Net)C#から遅延バインディングでExcelファイルに読み書きするで、C#からExcelへ遅延バインディングを使ったアクセスを書きましたが、今回はセルの罫線を引く方法です。 流れとして、Range インスタンスから Borders を取得し、そこから Border(どこの線か)…
(.Net)C#から遅延バインディングでExcelファイルに読み書きするで、C#からExcelへ遅延バインディングを使ったアクセスを書きましたが、今回はセルの書式設定を行う方法です。Rangeオブジェクトの NumberFormatLocal プロパティに設定してやればいいようです…
接続型でDBにクエリを実行した場合、結果はDateReaderで取得することになるかと思います。 その結果をさくっとDataTableに変換したいという場合は、DataTable.Loadメソッドを使うといいようです。 例えば System.Data.SQLite ライブラリを使った場合はこんな…
System.Data.SQLite ライブラリを使って共有フォルダのデータベースファイルに接続するには、以下のようにしたのではダメでした。 using (var conn = new SQLiteConnection(@"Data Source=\\srv01\share\hoge.sqlite")){ .... } 以下のように、余分に \ を付…
.Netアプリでスタンドアロンデータベースを使うときはいつもMDBを使ってたんですが、今回はじめてSQLiteを使ってみました。 .Netアプリケーションから SQLite にアクセスする方法はいくつかあるらしいですが、今回はVB.NETから組み込みデータベースのSQLite…
列挙型の値を指定するときに、動的に出来れば便利って思ってました。 例えば、 enum Hoge{ alpha, bravo, charlie, delta, echo } という列挙型があって、設定ファイルから読み込んだ文字列値を元にこの列挙型を設定したい時などです。 そのような場合は、以…
例えば、外部ファイルに値とそれに対応する型が書かれており、それを.Netアプリで読み込んだ時に、ファイルに記述された型に合わせて値を変数化してやりたいといった場合の方法です。 この場合、Convert.ChangeType メソッドを使ってやるといいようです。 Ty…
以前に、.Net(C#)アプリからExcelのVBAを呼び出したい(遅延バインディング)で、C#からマクロを実行する方法を書きました。今回は、より一般的なセルへの読み書き方法のメモです。 開発マシンのExcelのバージョンに左右されないように遅延バインディングでア…
固定長のテキストデータを読み込んで何か処理をさせたいという場合で、テキストデータのフィールドの桁数がしょっちゅう変わるのでそのたびにソースを直すのは大変という事態が発生しました。 なので、読み込むテキストデータのフィールドを外部ファイルで定…
任意のプロセスのCPU使用率を求めたいと思ってググっていたらVisualStudioフォーラム:複数のプロセス毎のCPU使用率同時取得にドンピシャな答えがありました。 コピペになりますが、ベンチマークソフト SUPER_PI のCPU使用率を求めたい時はこうなります。 mS…
WindowsServer2003上でターミナルサーバを運用してますが、どうやらメモリを使いすぎているユーザがいるようです。 それで、数日間どのユーザがどのプロセスでメモリを使いすぎているのか経過調査を行うことにしました。 当初はパフォーマンスログで取ろうか…
事の発端は下記のように string 型のリストを匿名メソッドを使って処理しようとしたときです。 List<string> lst = new List<string>(); lst.Add("test1"); lst.Add("test2"); lst.Add("test3"); lst.ForEach(delegate(string s) { s = "hoge"; }); lst.ForEach(Console.Writ</string></string>…
Visual Studioセットアッププロジェクトでの、カスタム動作の使い方です。 カスタム動作を使うとVisualStudioで作ったインストーラだけでは難しい操作が行えるみたいです。 カスタム動作の発生するイベントには、インストール時、確定時、ロールバック時、ア…
.Netではコントロールの表示だけでなく、プロパティアクセスも遅いということに最近気づきました。 下記のコードを実行して、ループ内からTextBoxのTextプロパティにアクセスしたのと、一旦、ローカル変数にTextプロパティの値を移しておきそれを参照した場…
たとえばある List から特定の条件のものを探したいという時、今までは List をループでまわし、その中の条件式で探していました。 しかし、MSDNなど見てみると、 List.Find メソッド:指定された述語によって定義された条件と一致する要素を検索し、List 全…
VB.NetにもC#にもtypeofという予約されてる語がありますが、挙動はまったく異なります。 C#,VB.Net両方やってるとたまに迷うので一応メモ。 VB.Netのtypeof 構文: TypeOf <名前> Is <型> <名前>のランタイム型に<型>との互換性があるかどうかを判断します。…
カスタムコントロール(Butonを継承し+αしたもの)を作っていて、デフォルトでのFontプロパティのフォント種を変えてほしいという話がありました。 実は.NetにControl.DefaultFontというプロパティがあるのですが、これは読み取り専用でしかもMSDNによると、…