最終更新日時2011-03-10
■目次
初心者本を読み終わったあとには、msdn(マイクロソフト公式サイト)のこの特集を全部読むのが一番いいかも。
Microsoft Office 2000/Visual Basic プログラマーズ ガイド
「Office 2000」時代のページなので古いし、プログラマー向けの言い回しが多く理解しにくい。
でも、一番体系立てて書かれている気がする。
Microsoft Office 2000/Visual Basic プログラマーズ ガイド
「Office 2000」時代のページなので古いし、プログラマー向けの言い回しが多く理解しにくい。
でも、一番体系立てて書かれている気がする。
以下は、自分でまとめてみたわかりにくいプロパティ、メソッド、演算子などの説明。
命令別の分類
コメント:ステートメント一覧が上記にある。
2.メソッド
3.ステートメント
3-0.ステートメントとは
ステートメントと呼ばれるのは、function,sub,for,exit,endなど。
ステートメントの定義をmsdnの中で探しまわりましたが見つからず。
ステートメントの定義をmsdnの中で探しまわりましたが見つからず。
msdnを調べる中で、わかったこととしては、
すべてのステートメントは 2 つのカテゴリに分類されます。 引用元:Visual Basic におけるステートメント
各ステートメントは、次のカテゴリのいずれかに属します。
宣言ステートメント。宣言ステートメントは、変数、定数、またはプロシージャの名前を指定します。一緒にデータ型を指定することもできます。
実行可能なステートメント。実行可能なステートメントは、アクションを実行します。メソッドまたは関数の呼び出しや、コード ブロックのループや分岐を行うことができます。値や式を変数や定数に代入する代入ステートメントも実行可能なステートメントに含まれます。
引用元:ステートメントの概要
3-1.宣言ステートメント
3-1-1.プロシージャーの種類を決めるステートメント
プロシージャーには、Function、Sub、Event、Propertyの4種類がある。
参考:VBぷろぐらむ工房:文法書4 (リンク切れ)
http://www001.upp.so-net.ne.jp/yoshihiro/gram4.htm
■function
Office TANAKA - Excel VBAステートメント Functionステートメント
Functionの戻り値を配列にしたいのですが
functionを使えば、自分で関数をつくれる。ユーザー定義関数と呼ばれる。
勉強用メモ - EXCEL/VBA/WEB連携以外のつまづきやすいとこ/自作関数
■Property Set ,Get,Let
Property Set ステートメント
Property Get ステートメント
Property Letについて - Visual Basic - 教えて!goo
参考:VBぷろぐらむ工房:文法書4 (リンク切れ)
http://www001.upp.so-net.ne.jp/yoshihiro/gram4.htm
■function
Office TANAKA - Excel VBAステートメント Functionステートメント
Functionの戻り値を配列にしたいのですが
functionを使えば、自分で関数をつくれる。ユーザー定義関数と呼ばれる。
勉強用メモ - EXCEL/VBA/WEB連携以外のつまづきやすいとこ/自作関数
■Property Set ,Get,Let
Property Set ステートメント
Property Get ステートメント
Property Letについて - Visual Basic - 教えて!goo
3-2.実行可能なステートメント
■for
(for文の途中で変数iからi+1に強制的に移りたい場合。)
if文でネストするのが一番マシの様子。
goto文でもできるが、構造が見にくくなる。
(for文の途中で変数iからi+1に強制的に移りたい場合。)
if文でネストするのが一番マシの様子。
goto文でもできるが、構造が見にくくなる。
Excel質問掲示板(VBA) For Next 文で、途中から次のループに移りたいとき
エクセルVBAでループ文について教えてください。 For i = 0 to 100 IF i = 10 t... - Yahoo!知恵袋
修飾子
ByVal と ByRef
Newキーワード
演算子
like演算子(正規表現の簡易版)
目的別分類
テキストファイルを扱う
印刷関連
フィルタ
オートフィルターが設定されているか判断する
オートフィルタで抽出された各行をマクロで選択
クリップボード
実は、クリップボードと呼ばれるものは複数あります。
知っている限りでは、DataObject,microsoft officeのクリップボード機能、internet exploreを使うものの3つです。
知っている限りでは、DataObject,microsoft officeのクリップボード機能、internet exploreを使うものの3つです。
DataObject
DataObjectオブジェクトはMSFormsのメンバです。使用するには、Microsoft Forms 2.0 Object Libraryを参照設定します。または、ブックにUserFormを挿入すると自動的に参照設定されます。 引用元:Office TANAKA - Excel VBA Tips クリップボードを操作する(1)
Excel VBA を学ぶなら moug モーグ | 即効テクニック | クリップボードとデータのやりとりをする
Excel VBAでクリップボードに文字列をコピーする方法 | 太郎日記’79J
.xls: 変数のデータをクリップボードに格納する
Office クリップボード
本来は、
Office クリップボードは VBA による操作に対応していません。
ですが、下記のURLからダウンロードすれば、使用可能。
Office クリップボードを操作する方法 | YU-TANG's MS-Access Discovery
Office クリップボードを操作する方法 | YU-TANG's MS-Access Discovery
Internet Explorerをつかうもの
自作のVBAに組み込みダイアログを表示させる
組み込みダイアログとは、エクセルにもとから入っているポップアップウインドウみたいなやつ)
基礎
「ページ設定」のダイアログ
((xlDialogPageSetup)
「ページ設定」のダイアログの値の設定方法
(注意!マクロつきエクセルファイル。無効推奨。)
「ページ設定」のダイアログの値の設定方法
(注意!マクロつきエクセルファイル。無効推奨。)
[関数の引数]ダイアログボックス
(xlDialogFunctionWizard)
関数名を指定して、関数の引数ダイアログボックスを表示させることができますか
関数名を指定して、関数の引数ダイアログボックスを表示させることができますか
その他
ダブルクオーテーション(")を変数に挿入する
「"」を代入する場合。
例)strA = """"
です。
「ABC"DEF」を代入するときは、
例)strA = "ABC""DEF"
他のブックのマクロを使う
Run "'マクロブックのフルパス'!モジュール名.プロシージャ名"[, 引数1][, 引数2][, …]
以下でも動く。
Run ("'マクロブックのフルパス'!モジュール名.プロシージャ名"[, 引数1][, 引数2][, …] )
以下でも動く。
Run ("'マクロブックのフルパス'!モジュール名.プロシージャ名"[, 引数1][, 引数2][, …] )
ハイパーリンク
他のブックやシートを立ち上げたいときのハイパーリンク。
Hyperlink.Follow メソッド (Microsoft.Office.Interop.Excel)
Selection.Hyperlinks(1).Follow NewWindow:=True
ただ単に上記のように書くと、なぜか小さい画面になってしまった。
最大化して表示するために下記の一文を追加。
ActiveWindow.WindowState = xlMaximized
3.6 ワークブックを最大化、最小化
Hyperlink.Follow メソッド (Microsoft.Office.Interop.Excel)
Selection.Hyperlinks(1).Follow NewWindow:=True
ただ単に上記のように書くと、なぜか小さい画面になってしまった。
最大化して表示するために下記の一文を追加。
ActiveWindow.WindowState = xlMaximized
3.6 ワークブックを最大化、最小化
入力規則
■セル参照なしで、改行のある入力規則を入力したい。
VBAをつかわないとできない。(たぶん。)
Excel質問掲示板(一般操作) 入力規則の改行
全ては時の中に… : 【Excel】VBAで入力規則を設定する
VBAをつかわないとできない。(たぶん。)
Excel質問掲示板(一般操作) 入力規則の改行
全ては時の中に… : 【Excel】VBAで入力規則を設定する
変数やオブジェクトの型
配列
記事名:
動的配列の勉強
サイト名:Excelでお仕事
記事名:
Functionの戻り値を配列にしたいのですが
記事名:
引数が不定の場合-ParamArrayキーワード
Excel VBA を学ぶなら moug モーグ | 即効テクニック | 静的配列の要素を最初期化/動的配列に割り当てたメモリを開放する(Eraseステートメント)
Excel VBA を学ぶなら moug モーグ | 即効テクニック | Eraseステートメントで配列の初期化とメモリの解放をする
Excel VBA を学ぶなら moug モーグ | 即効テクニック | 他のプロシージャに配列を引数として渡す
Excel(エクセル)VBA入門:配列の並べ替え
動的配列の勉強
サイト名:Excelでお仕事
記事名:
Functionの戻り値を配列にしたいのですが
記事名:
引数が不定の場合-ParamArrayキーワード
Excel VBA を学ぶなら moug モーグ | 即効テクニック | 静的配列の要素を最初期化/動的配列に割り当てたメモリを開放する(Eraseステートメント)
Excel VBA を学ぶなら moug モーグ | 即効テクニック | Eraseステートメントで配列の初期化とメモリの解放をする
Excel VBA を学ぶなら moug モーグ | 即効テクニック | 他のプロシージャに配列を引数として渡す
Excel(エクセル)VBA入門:配列の並べ替え
連想配列(Dictionaryオブジェクト)
No.17 VBAで連想配列 ~ Scripting.Dictionary
Office TANAKA - Excel VBA Tips 重複しないリストを作る
Excel(エクセル)VBA入門:重複なしのデータを抽出するいろいろな方法
[Dictionary オブジェクト >
http://msdn.microsoft.com/ja-jp/library/cc428065.aspx]]
Dictionary オブジェクト | スクリプトの技法 | スクリプト センター
多次元配列
VBでも60次元まで配列ができそうな様子。参考元:
アクセスVBA講座_基礎編_変数・定数
VBAでの2次元配列の初期値定義 - 燈明日記
多次元配列の要素数の調べ方
Excel VBAメモ:UBound関数と多次元配列 | フィロの村note
アクセスVBA講座_基礎編_変数・定数
VBAでの2次元配列の初期値定義 - 燈明日記
多次元配列の要素数の調べ方
Excel VBAメモ:UBound関数と多次元配列 | フィロの村note
ユーザー定義型(構造体)
他の言語では、構造体と呼ばれるものだが、VBAでは「ユーザー定義型」と名づけている。
引数の多い関数を書きたい場合に便利。
特に、これまではoptionalを使っていたような引数、つまり存在が確実でない引数をとる関数を書く場合に便利。optionalは使える順番が決まってくるのに対し、ユーザー定義型なら任意の場所を空白にできる。
引数の多い関数を書きたい場合に便利。
特に、これまではoptionalを使っていたような引数、つまり存在が確実でない引数をとる関数を書く場合に便利。optionalは使える順番が決まってくるのに対し、ユーザー定義型なら任意の場所を空白にできる。
VBE
ユーザーフォーム
【基礎】
ユーザーフォームについて
VBAでユーザーフォームに引数を渡したい
#リストボックスやコンボボックスに表示する項目を設定する
RowSourceプロパティ
【リストボックス】
複数列のリストボックスを作成する
リストボックスでAddItem
ユーザーフォームについて
VBAでユーザーフォームに引数を渡したい
#リストボックスやコンボボックスに表示する項目を設定する
RowSourceプロパティ
【リストボックス】
複数列のリストボックスを作成する
リストボックスでAddItem
personalファイル
なぜか保管場所が二つある。
どうやら、一台のパソコンを複数アカウントで使う場合に、各アカウント間のpersonalファイルの共有する、共有しないを変えるためらしい。
どうやら、一台のパソコンを複数アカウントで使う場合に、各アカウント間のpersonalファイルの共有する、共有しないを変えるためらしい。
保管場所
PERSONAL(大文字)ファイル:おそらくデフォルトではこちらに保存される。他のアカウントをもつユーザーとpersonalファイルを共有しない。
C:\Documents and Settings\{ユーザー名}\Application Data\Microsoft\Excel\XLSTART
C:\Documents and Settings\{ユーザー名}\Application Data\Microsoft\Excel\XLSTART
pesonal(小文字)ファイル:1台のパソコンに複数アカウントが入っており、かつ複数アカウントでpersonalファイルを共有したいとき。
C:\Program Files\Microsoft Office\OFFICE11\XLSTART
C:\Program Files\Microsoft Office\Office12\XLSTART
C:\Program Files\Microsoft Office\OFFICE11\XLSTART
C:\Program Files\Microsoft Office\Office12\XLSTART
外部コントロールを使う(参照設定を使う)
参照設定にチェックを入れると、VBAでできることが増える。
「参照設定」を行う方法
マクロで参照設定を操作する
サイト名:office tanaka
正規表現
USERFORM
ListViewコントロール
TreeViewコントロール
アドイン
格納場所(EXCEL2003の場合)
C:\Documents and Settings\{ユーザー名}\Application Data\Microsoft\AddIns
C:\Program Files\Microsoft Office\OFFICE11\Library
C:\Program Files\Microsoft Office\OFFICE11\Library
作り方
基礎
ツールバーにボタンを作ってマクロを実行
Windows API を呼び出す
Windows API とその他のダイナミック リンク ライブラリ
このリンクを一通り読むこと。
ページフッタ
このページの1階層下のページ
このページに含まれるタグ
このページへのアクセス数
今日:
6
昨日: 15
これまで合計: 15590
昨日: 15
これまで合計: 15590
このwikiの更新情報RSS