hakeの日記

Windows環境でプログラミングの勉強をしています。

EXCEL VBAメモ - DIR関数のハマりどころ

デバッグで少々ハマったのでメモ。指定したフォルダの下のファイルを一つずつ取り出して処理する場合や、特定のファイルが存在するかを判断したい場合には、DIR関数で簡潔に記述できるのでよく使用します。こんな感じで Dim path As String Dim file As Stri…

hp 35s プログラムメモ

hp35sでのプログラムでのポイントをメモ。 以下は全てRPNモードでの記述です。 スタックの値を引数に使用する Xレジスタに半径値がある場合の円の面積を求める。 A001 LBL A # プログラム名(ラベル) A002 x^2 # xの2乗 [青][√X] A003 π A004 × # 掛ける A0…

hp 35s(RPN電卓)購入

先日、前々から欲しいと思っていたhp製の電卓を衝動買いしてしましました。 型名はhp35sです。高級なグラフ電卓ではないエンジニア向けの関数電卓って今はこれしかないのですね。 付属品は、電池、専用ケース、英語とフランス語?のクイックスタートガイド、…

PowerShell - C#で記述したオブジェクトを使用する

こちらで使用している内容の再確認。 C#のソースを埋め込んで、定義したクラスをオブジェクトとして利用する。 Add-Type -TypeDefinition @' using System; public class MyClass { public int Data {set; get;} public void PrintInstance() { Console.Writ…

Windows 10 May 2019 Update (Ver.1903)適用

pc

やっと通知がきたので適用。無事終了。 今回は更新時間が1時間以上と長かった。

Windows 10 May 2019 Update (Ver.1903)が降ってこない。

pc

と思っていたら、ウィルスバスターの対応が遅れていた模様。 バージョン15のウィルスバスタークラウドには対応した様なので、もうすぐ来るかな?esupport.trendmicro.com

iPod touch 7th(2019)購入

128GBを購入しました。 3rd(8GB)→4th(64GB)→6th(64GB)→7th(128GB)と4台目のiPod Touchです。 近所の家電量販店で注文して3日で入荷の連絡が来ました。今時は皆iPhoneへ移行して需要が少なくなっているせいなのか、入荷が速いのはありがたいですね。6thからの…

iPod touch 7th(2019)と iTunesの終了

だいぶ時期遅れの話題になってしまったけれども もう出ないと思っていた新しいiPod Touchが出たのには驚いた。今使っている6thはかなりバッテリがヘタってきていてWiFi接続すると10分くらいで警告が出るようになっているので、専ら車での音楽とpodcastの再生…

Visual Studio Community 2019 オフラインインストール

手順はこちらに書かれているとおり。 前回のVSC 2017の時と比べて引数の指定が増えているので注意。 vs_community.exeの取得 上記リンク先からダウンロードする。 ローカル インストール キャッシュの作成 今回は .NET デスクトップ開発のみ取得し、C:\VS201…

EXCEL VBAメモ - UserFormとの値の受け渡し(プロパティとプロシージャ)

ユーザーフォームと、その呼び出し側との値の受け渡しは標準モジュールに定義したPublic変数を介して行っていたのですが、プロパティとプロシージャでもできることを知ったのでメモ。

C# - コマンドライン環境での外部アセンブリの参照方法

Json.NETを試した時のメモ。 本家サイトから入手し、展開したNewtonsoft.Json.dllを適当なフォルダの置く(例:c\:foo) /libおよび/referrenceオプションを付けてコンパイルする。 csc.bat program.cs /lib:C:\foo /reference:Newtonsoft.Json.dll ソースに…

EXCEL VBAメモ - 複数ファイルを同時オープンする場合のFileNumberの取得

マクロを組んでいて少し悩んだのでメモ テキストファイルを読み書きする際にはFreeFile関数でFileNumberを取得して、ファイルに割り当てて使用するが、以下の様に事前にFileNumberを取得すると書き込み用ファイルのオープンで「ファイルは既に開かれています…

EXCEL VBAメモ - SQLite3データベースのアクセス(SQLiteForExcel使用)

ExcelからODBCドライバをインストールせずにSQLite3へアクセスする方法 準備(64bit環境の場合) Releases · govert/SQLiteForExcel · GitHub からSQLite For Excelの最新版を入手(現時点ではSQLiteForExcel-1.0.zip)しアーカイブの中から、SQLiteForExcel_6…

EXCEL VBAメモ - SQLite3データベースのアクセス(SQLite ODBC使用)

ExcelからODBC経由でSQLite3へアクセスする方法 準備 SQLite ODBC Driver からSQLite ODBC Driverをダウンロードしてインストールする。64bit版はsqliteodbc_w64.exe(現時点の最新はVer.0.9996) インストールを行うとsqlite3.dllがC:\Windows\System32に見つ…

SQLite - ウィンドウ関数

特定のレコード範囲をウィンドウ設定して、そのウィンドウに対して操作を行う機能。 sqlite> select * from AAA; tt ii ---------- ---------- aa 6 bb 5 aa 4 bb 3 aa 2 bb 1 OVER句

SQLite - 重複の除去(DISTINCT)

指定したカラムで重複ているものを除去して出力する sqlite> select * from AAA; tt ii rr ---------- ---------- ---------- aaa 1 1.0 aaa 1 2.0 aaa 2 3.0 aaa 2 4.0 sqlite> select distinct tt from AAA; tt ---------- aaa sqlite> select distinct tt…

SQLite - 出力レコード数の制限(LIMIT, OFFSET)

LIMIT句で出力するレコード数を、OFFSET句で最初からスキップするレコード数を指定する。 sqlite> select * from AAA; tt rr ---------- ---------- aaa 8.0 bbb 7.0 ccc 6.0 ddd 5.0 aaa 4.0 bbb 3.0 ccc 2.0 ddd 1.0 sqlite> select * from AAA limit 1; t…

SQLite - 出力のソート(ORDER BY)

指定したカラムを昇順(ASC,省略可)または降順(DESC)でソートして出力する。 sqlite> select * from AAA; tt rr ---------- ---------- aaa 8.0 bbb 7.0 ccc 6.0 ddd 5.0 aaa 4.0 bbb 3.0 ccc 2.0 ddd 1.0 sqlite> select * from AAA order by tt asc, rr…

SQLite - カラム方向の結合(JOIN)

2つのテーブルの指定したカラムで結合することで2つのテーブルをカラム方向に広げたひとつのテーブルとして扱う sqlite> select * from AAA; tt ii ---------- ---------- aaa 1 bbb 2 ccc 3 ddd 4 sqlite> select * from BBB; ii rr ---------- ----------…

SQLite - グループ化(GROUP BY)

指定したカラム毎にグループ化して、そのグループ内で処理を行う sqlite> select * from AAA; tt cate val ---------- ---------- ---------- aaa A 1.0 bbb A 2.0 aaa A 3.0 bbb B 4.0 aaa B 5.0 bbb B 6.0 aaa C 7.0 bbb C 8.0 selectにカラム名のみ記述し…

SQLite - 集計関数

sqlite> select * from AAA; ii tt rr ---------- ---------- ---------- 1 aaa 1.0 2 bbb 2.0 3 ccc 3.0 ddd 4.0 5 eee SUMとTOTAL

SQLite - WHERE句

sqlite> select * from AAA; ii tt ---------- ---------- 1 aaa bbb 3 ccc 4 5 ddd 6 eee fff 8 9 ggg 一致、比較、否定

SQLite - ビューとインデックス

sqlite> create table AAA(ii integer, tt text, rr real); sqlite> insert into AAA values(1, 'aaa', 0.8), ...> (2, 'aaa', 0.7), ...> (3, 'bbb', 0.6), ...> (4, 'bbb', 0.5), ...> (5, 'ccc', 0.4), ...> (6, 'ccc', 0.3), ...> (7, 'ddd', 0.2), ...>…

SQLite - ROWIDとカラム制約事項

ROWID 特に指定しなくても、レコードをユニークに決定するROWIDというinteger型のカラムが内部的に付加される。 sqlite> create table AAA(ii integer, tt text); sqlite> insert into AAA values(10, 'aaa'),(20, 'bbb'); sqlite> select rowid,* from AAA;…

SQLiteを使う

個人や小規模のデータベースで使用するSQLiteの勉強 作成されるデータベースファイルは一個なので手軽に管理できる。 入手先 以下のサイトのDownloadから入手する。現時点のバージョンは3.25.3。 Windows環境でプログラムからDLLを使用する場合は、sqlite-dl…

EXCEL VBAメモ - ユーザーフォーム上のTextBoxにEnter押下で連続入力する

目的 ListBoxとTextBoxがあるユーザーフォームで、TextBoxに入力したデータをListBoxに追加していきたい。 その時Enter押下だけで連続に入力していく様にしたい。 試行錯誤 通常はTextBoxにデータを入力したあとにEnterを押すとフォーカスが別のコントロール…

C# - LINQ

Enumerableなオブジェクトに対して様々な加工が可能である。面白いのは組み合わせて使用できること。 注意点としてはReserveメソッドのみ自身を書き換えること。試した範囲では他のメソッドは新規のEnumerableなオブジェクトを生成した。

C# - 引数 - 値渡しと参照渡し

メソッドの引数を参照渡しで行う場合は、仮引数だけでなく、実引数側にも ref をつける。これはメソッドの引数にしたことで、メソッド側から書き換えが発生する可能性のあることを明示する為である。 メソッドの結果を引数経由で呼び出し側に渡す用途の場合…

C# - 引数 - 規定値/名前付き引数/可変長引数

メソッド定義の仮引数に規定値を付けると、メソッド呼び出し時にその引数を省略することができる。ただし仮引数の並びで、規定値有りの引数の後ろに規定値無しの引数を置くことはできない。また、メソッド呼び出し時に 仮引数名 : 値とすることで仮引数の順…

C# - foreach文とyield

IEnumerable<T>型のメソッドを定義して、その処理中に yield return 値; を記述することで、IEnumerable<T>オブジェクトを生成することができる。 IEnumerable<int> MyEnumerable() { 処理; yield return 値; 処理; } この方法を利用したほうが、IEnumerable</int>…