CAD日記

主にAutoCADのことについて書いているけど、近頃は投資系ネタに注力している。自動売買、仮想通貨、PC関係、プログラミングなど。@caddiary

ソフト開発

秀丸マクロ第3弾は「指定した列数、レコード数でCSVファイルを作る」

投稿日:

秀丸マクロがおもしろいという記事を書いて以来、何か要件はないだろうかとさがしていた。
秀丸マクロがおもしろくて練習のため2つのマクロを作ってみた

「指定した列数、レコード数でCSVファイルを作る」なんて要件が出てきたので作ってみた。今回とトライで得られた知識やポイントを以下に列記する。
・サブルーチンの作り方を習得するのに時間がかかった
・変数名に##や$$と指定するのは、ルーチン内でのみ利用する変数であることがわかった
・数値を文字化する際に、指定桁で0埋めする関数が用意されていなかったので独自に作った
・処理を高速化するには、処理中に画面描画を止めればよい

なお、以下のマクロをそのまま実行すると4秒かかる。列が5つで5000レコードで、ファイルに保存すると500kbそこそこ。20倍の10万レコードで作ろうとしたら、80秒もかかってしまう計算。高速化する方法がきっとあるのだろうが、それは今後の課題としておく。

-ソフト開発

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

VC2017でWindowsの環境変数を取得する方法

C++のUnicodeプロジェクトにおいて、_wgetenvでWindowsの環境変数が取得できるのはわかる。 こんなソースがあって、ビルドしたらエラーになった。 [crayon-5d874fb98c …

no image

ファイル選択でアプリ即死

まずはキーワードを並べる。 ・ファイル選択ダイアログ ・デスクトップ ・ツールチップ ・マウスカーソル ・2回目 ・落ちる(スッといなくなる) ・Adobe Reader 7 ・pdfshell.dl …

no image

円周率

3.1415926535…。私が記憶しているのはここまでです。スーパーコンピュータを使って数億桁まで計算、なんてニュースをよく聞きますね。コンピュータの性能向上とアルゴリズムの工夫に対する …

マルチスレッドプログラミング(VB.net編)

マルチスレッドプログラミング(C++編)に続き、今度はVB.net編を公開。マルチスレッドプログラミング(C#編)はこちら。

WinMegeのフィルタについて今すぐ知りたいならココを読め

WinMergeでフォルダやファイルを比較して差分を把握することは、プログラムに関わっていれば日常あること。効率よく比較したいならフィルタを使うべし。