弥生の原価償却の留意事項

会計ソフト「弥生オンライン」で、減価償却の処置時の覚書です。

仕訳は決算時に自動生成されます。その画面の出し手順は以下のとおりでした。

耐用年数と今期の入手してからの期間から自動計算されます。

ポイントとしては、

  • 中古は「法定耐用年数の20パーセントに相当する年数」と耐用年数が異なるが、弥生上はその区分は持っていない。
  • 計測器の5年の20%だと耐用年数1年となるが、2年以上でないと入力ができない。これは法規なのか弥生の仕様なのかはよく分からない。この場合、仕方なく2年するしかない。

資産一覧画面に戻り以下のように生成します。

仕訳の入力から確認します。挿入される位置の根拠はよくわかりません。弊方は適用欄に、決算仕訳後に発生日が分かるよう、銀行取引とリンク付けできるよう付番していますが、入れられないですね...

以下のように、資産入手時の仕訳は普通のとは扱いが違うようです。

Microsift純正Windows Exploer 代替え品お試し【継続調査中】

win10になっても、win11になっても不調がなくならない Microsoft純正Windows Exploer。起動直後、検索中かなにかで数分ダンマリが目立つようになってきました。Windowsを再起動すると解消しますが、急ぎのときはそれもできません。 代替え品を探します。この手の記事はたくさんあるのですが、肝心な問題点が記載されていない(タダの検索件数稼ぎ?)ので、レポートいたします。弊方では、Win32API/MFC/.NETも大体使え、開発環境もあるので純粋Winアプリでオープンソースがよいです。

ばっと目についたのがコレ、64bit版あり、フリーですがオープンソースではないようです。ダウンロードはこちら

普通にダウンロードできます。

インストーラは無く、exe直実行です。

以下画面サンプルです。メニュー等は英語ですが複雑なアプリではないのであまり問題ないのでしょう。

問題点は、

  • 操作音が消せない。これは致命傷レベルです。Windowサウンド設定は「無」にしていても消せない。オプション設定もみられず。

以上、実用できません。

シンプルで軽そうなので目に留まりました。古くから存在するようです。ダウンロードはこちら。

こちらはWindows Installerタイプ。スキンから見ますと古い2010の頃の Install shiled で作られているようです。

確かに軽い、タブも2つで必要最小。以下画面です。

問題点は、

  • 列の表示項目が固定となっている。「ファイルの種類」は要らんです。
  • ネットワークドライブを参照すると、左ツリーのカレント位置が、約一秒置きにルートディレクトリに戻る。これも致命傷です。おそらく周期的に接続状態をチェックしている影響かと思います。

以上、実用できません。

最新で高機能っぽいので目に留まりました。こちにはMS Storeアプリで、無償(お試し?)版と有償版があります。ダウンロードはこちら

やはり少し重い。以下画面サンプルです。同様に行間詰めるモードあり。Win11 Exploer に準拠している感じですね。

少し触ってみると、邪魔なピン止めを非表示にできたり、Win11でファイルドラッグ中に別タブ上を通過するとタブが切替わってしまう問題(MSの怠慢かと、かなりイラっときます)が解消されていたり。MS版のネガが抑えられているようです。

上書きの問い合わせが面倒です。強制上書きオプションまでは無いようです。

拡張子警告しないオプションは画期的です。

問題点は、

  • クリック時の反応が、純正Expolerにくらべワンテンポ遅い。ソフトウェア芸が多すぎでは?
  • 左ツリーのツリー表示がない。これも致命傷です。弊方は、左ツリーをキーボート操作で開いていくのが常なので、無いと仕事になりません。有償版ではあるのでしょうか?
  • 起動時にダンマリすることあり。

以上、実用できません。


以上、継続調査中です。

.NET DataGridViewで行末尾追加を実現するには?

.NET DataGridViewで行末尾に、行追加できないようです。以下の行追加試しました。

AIによると DataSource を追加しないといけないと言われます。ちょっと面倒すぎです。別の手を考えました。

追加用のダミー末尾を追加して、見せないようにします。コード例は CLI です。

private: System::Windows::Forms::DataGridView^  dgrdSend;

  ・・・中略・・・
 
private: System::Void Form1_Load(  System::Object^  sender,  System::EventArgs^  e) 
{
  ・・・中略・・・
	dgrdSend->RowCount = 2;
	dgrdSend->Rows[0]->Cells[1]->Value = "1000";	// デフォルト送信データ行
	dgrdSend->Rows[0]->Cells[2]->Value = "0";
	dgrdSend->Rows[1]->Height = 0;				// 送信データ行追加用ダミー(Addで末尾追加未サポのため)
	dgrdSend->Rows[1]->ReadOnly = true;
	// dgrdSend->Rows[1]->Visible = false;   -> エラーになる
	// dgrdSend->Rows[1]->Resizable = false; -> エラーになる
	dgrdSend->AllowUserToResizeRows = false;	// 全体に行リサイズ変更はOK
  ・・・中略・・・
}

		int		selectedRowSndData;			// 選択中の送信データ行

/* ****************************************************************************
 * 機能名 : 送信データ追加
 * ***************************************************************************/
private: System::Void menuAddSendItem_Click(
	System::Object^ sender, 
	System::EventArgs^ e 
) {
	selectedRowSndData ++;
	dgrdSend->Rows->Insert( selectedRowSndData, 1 );
}

/* ****************************************************************************
 * 機能名 : 送信データ挿入
 * ***************************************************************************/
private: System::Void menuInsertSendItem_Click(
	System::Object^ sender, 
	System::EventArgs^ e 
) {
	dgrdSend->Rows->Insert( selectedRowSndData, 1 );
}

実行結果です。

VB6/VBA 留意点まとめ【随時更新中】

極まれに使用するVB6/VBAにて他言語と異なる点の留意事項覚え書きです。

IDE上でUI配列が使用できる。.NETではなくなっている。

UI配列にuboundは使えない。ubound(text()) はNG、Text.UBound がただしい。

UI配列はアクセスしなければ欠番があってもよい。

他言語と比べ、配列は宣言数+1つ確保される。

フォームエディタで編集すると時間がかかる場合は、フォーム部はコード手打ちしても良い。

MSComm は、内部バッファに一定byte蓄積しないと受信イベントが発生しない模様。

TextBoxで入力禁止にするには、KeyDown と KeyPress でキーコード値引数を 0 に上書きする。

アプリの終了は “End” である。

Buildスイッチは、#Const XXXX、 #if XXXX then ~ #end if である。

unsignedは使えない。(これはjavaも同じ)

ラベルはデフォルト不透明だが、透明を指定するこができる。UIが重なるが文字はみだし策で大きくしておきたいとき重宝する。

Longは 2,147,483,647 どまりだが、CDec関数( 10 進型 (Decimal) )を使えば128bitまで表現できる。しかし変数としての型はなく工夫して使う必要がある。

配列引数を渡すときは、変数() である。

Win10以降では、管理者で実行した方がよい。多分レジストリ書込みを行っている。

長いイベント内でbrakeするとき、イベント先頭で一次brekeしないと、brakeしない場合あり。

挙動がおかしいときは、IDEを再起動する必要性が高い。

コードエディタのUNDOは一回しか効かない。複数戻したいとはき、プロジェクト解放 を行う。

フォームエディタのUNDO無い。戻したいとはき、プロジェクト解放 を行う。

フォームエディタで複数UIを選択する場合は、選択矩形領域に部分的かかっているUIも選択される。

外部エディタでコード修正したときは、Project 解放し、再読み込みすること。

タブ表示は無いので IDETab アドインを使う。

全検索はないので、greovb アドインを使う。

マウスホイールスクロールは無いので VB6IDEAddAutoScroll アドインを使う。

コード行番号を表示はないので、VB6IDEAddLineNumbers アドインを使う。

前回開いていたウインドウをリセットしたい場合は、.vbw を削除する。

Visual Basic 6 sp6 がインストール失敗するとき’25

2000年前後一世を風靡した Visual Basic 、まだMSDNでは配布され、ランタイムの実行もwin11サポートされています。 初期のwin11に Visual Basic 6 sp6 はインストール済みですが、新規に別win11にインストールが必要になりインストールしてみました。そのメモです。

MSDNよりエンタープライズ版をDLしインストール。終了時にエラー( ダンマリ状態だったかも )が出ましたが、IDE自体は起動でき Build もOK。win10でもこんなにすんなりいかなかった記憶があります。これでよかったのでしょうか?

VB6の最終Services pack である SP6 をインストールします。インストーラは現在通常公開されていないようです。保存していた公開当時のものをインストールしますが失敗します。管理者権限、XP-SP3互換モードでもダメ。

users\AppData/Loca/temp にも Windows\Temp にも インベントビューア にもどこにもログが残らずヒント無し。

SP6 は MSDN にはまだ公開されており、そちらでインストールを試みます。こちらは細かくバージョンが分かれているみたいです。しかし解消せず。

いろいろ見ていくと、VB6本体の実行ファイル類はインストールされていますが、本体インストール時に最後にエラーが発生したため、Windowsの管理上は未インストールになっているようですね。困った状態です。

一時アンインストール

VB6インストール済みPCから以下レジストリエントリと file をコピーすると、インストール扱いにすることができました。

  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Visual Basic 6.0 Enterprise Edition (jpn)
  • C:\Program Files (x86)\Microsoft Visual Studio\VB98\Setup\1041\setup.stf

しかしこの状態で SP6 を試しにインストールしましたが同じ結果でした。仕方なくアンインストールします。

他WEB記事を拝見かすると以下のオプションでインストールするようです。

SP6のインストール3

これで SP6 が正しく入りました。一見インストールできたように見えるのはトラップですね。

SP6 以降のリリースされた Windows Update を手動実行します。まだダウンロードセンターにおいてあるようです。

  • VB60SP6-KB3096896-x86-JPN.msi ※2024版がでているようです。こちらはローカルドライブから実行のみ可でした。

上記は、VB60SP6-KB2708437-x86-JPN.msi の内容も含まれているようです。

  • VisualBasic6-KB896559-v1-JPN.exe もあるようです。mscomctl.ocx comctl32.ocx  が更新されると記載されていますが、Visual Studio下の.ocxのpropertyを見る限りは変わってないように見えます。検索するとofficeに入っているのが最新みたいです。しかし SysinternalsSuitevmapユーティリティ を見る限りIDEにロードされる .ocx は旧い方ですね。

以上でセットアップが完了しました。

なおIDE初回起動時は、管理者権限で一度起動したほうがいいようです。