ExcelVBAプログラミング・メモ

by K.I
2012/04/01〜

Index


概要


[top]

文法

接尾辞による型

接尾辞 型宣言 名称 サイズ 値の範囲
$ String 文字型 2/文字 文字列の長さは 0〜32K
なし Byte バイト型 1 0〜255
% Integer 整数型 2 ‐32,768〜32,767
& Long 長整数型 4 ‐2,147,483,648〜2,147,483,647
@ Currency 通貨型 8 ‐922,337,203,685,477.5807〜922,337,203,685,477.5807
! Single 単精度浮動小数点数型 4 ‐3.402823E+38〜3.402823E+38
# Double 倍精度浮動小数点数型 8 ‐1.7976931348623158+308〜1.7976931348623158+308
なし Boolean 論理型 2 True(‐1), False(0)

Select Case

文字列を配列に

配列をWorkSheetに入れる

起動時の処理

終了時の処理

定数 意味
vbFormControlMenu 0 クローズボタン(×ボタン)が押された
vbFormCode 1 コードによるUnload命令
vbAppWindows 2 Windowsの終了
vbAppTaskManager 3 TaskManagerによる終了
vbFormMDIForm 4 MDIFormの上位が終了

[top]

シートの処理

ワークシートの大きさ

データの最後を求める

連続したデータの最後を探す

データをクリアする

データをコピーする

グラフの範囲指定


[top]

フォームの使い方

フォームを作る

フォームを表示

コンボボックスを作る

コンボボックスの初期化

フレーム

マルチページとタブストリップ

ステータスバー

テキストボックスのCRLFを取る


1新規のフォームを作る時も、登録した部品が使える。

[top]

VBAの使い方

構文エラーのダイアログを出さないように

プロジェクト エクスプローラを元に戻す

マクロを有効にするダイアログを出さない

カラーパレット


[top]

テクニック

ドラッグできるボタン

URLリンク

ファイルを開く

Excelのシートを消す

複数のExcelを起動した場合(続き)

非表示のウィンドウの再表示

可変長引数

関数の括弧

カレントパス設定

テンプレートをコピーして新規WorkBook生成

タイマ処理

フォームの再表示

フォームに最小化ボタンを付ける

複数のフォームの表示順入替え

複数のコントロール設定


2イベントプロシジャーを切換えられるようになってないとダメだけど。
3Excel/VBAのフォームでは、そもそも最大化ボタンが必要な場合が少ない気がする。

[top]

シリアルインターフェース

EasyCommのインストール

シリアル送信の例

バッファを大きくする

タイムアウト

バイナリ受信

不定期に送られるデータの受信

COMポート一覧の取得


4やはり、サポートは大変な様です。今更ですが、これまでのご尽力に感謝します。
5Excel/VBA自体がそうなのかな。

[top]

クラスモジュール

クラス作成

プロパティ

メソッド

クラスの呼出し


[top]

DLL

DLLヘッダファイル

DLLソースファイル

DLLのdefファイル

VBAでDLLを使う


6DLLは、たまにしか書かないので、すぐ忘れる。。
7なので、Cの関数名にDLLを付けて、VBA側の関数名はDLLを付けないようにしてみた。
8試しにやってみたら出来たけど、何故だろう?

[top]

Excel97

vbModeless指定できない

replaceが無い

splitが無い


[top]

エラー

インデックスが有効範囲にありません

オートメーションエラー

'GetSaveAsFilename'メソッドは失敗しました

ファイルが見つかりません: xxxx.dll

致命的なエラー(未解決)


9system32とかに置けば良いのかもしれないけど、VBAプログラムを配布する時に、そんな場所に置いてもらうのは実質上出来ないよね。

[top]

参考



comments powered by Disqus