- 日時: 2013/02/14 10:04
- 名前: VBレスキュー(花ちゃん)
- ***********************************************************************************
* カテゴリー:[エクセル][][] * * キーワード:VBA,Excel,Comオブジェクト,解放処理,エクセル,定数,タスクマネージャ * *********************************************************************************** '=================================================================================================== '投 稿 日:2012.05.05 '投 稿 者:VBレスキュー(花ちゃん) 'タイトル:VB2010からExcelを操作(サンプル集含む)するための注意事項 '========1=========2=========3=========4=========5=========6=========7=========8=========9=========0
※ 気が付いたことを逐次、追加書き込みしておりますので、順不同となっており見難いかとは思いますが ご了承願い、[このページの検索]等の検索機能を活用して見て下さい。
1.VB2010からExcelを操作するためのワンポイントテクニック集 に掲載されているサンプルを 操作(試す)する場合は、必ず、 >>1 の Excel の起動・終了に関する設定 のコードを 使用して下さい。 ※ 終了時の処理の中のテスト環境のコードは絶対に実装しないで下さい。 実装される場合は、下記のコードを使って下さい。 http://www.hanatyan.sakura.ne.jp/dotnet/Excel01.htm 2.基本的な事は、http://www.hanatyan.sakura.ne.jp/dotnet/Excel08.htm 等にかいておりますので、 必ずご覧になってから、これらのサンプルをご利用願います。
3.開発環境は、VB2010 / Excel 2007 /Excel 2010 で作成し、動作確認を行っておりますので、ご使用の バージョンによっては、エラーが表示するかもしれませんので、その節は、ご使用のバージョンに合わせて 変更願います。
4.未掲載の操作方法等について調べる場合は、Excel 上でマクロの記録ができるものは、マクロの記録を 取ってそのコードを見て下さい。
5.VBA での操作例のサンプルや VB6.0 から Excel を操作するためのサンプルは、Net 上に多く掲載されて いるのでそれらを参考にして下さい。
6.解らない事は、VBA のヘルプ使って調べて下さい。 Excel を起動して、メニューの【開発】→【Visual Basic】をクリックすると VBA の IDE の画面が 表示されますので、質問欄に記入して検索するか、【ヘルプ】をクリックして調べて下さい。 ※ 同じ名前の、メソッドやプロパティであっても、使用するオブジェクトによって、引数が違ったり 定数が違ったりする場合がありますので、その辺もよく確認するようにして下さい。 例、Workbook.SaveAs メソッド 、Worksheet.SaveAs メソッド 、SaveAs メソッド 等のようなもの
又、上記ヘルプは、下記のようにすれば、単独で使用できますので便利かと思います。 http://www.hanatyan.sakura.ne.jp/dotnet/vbahelp.htm
7.Excel の定数を調べるには、下記の【★ Excelの定数の調べ方】をご覧下さい。 http://www.hanatyan.sakura.ne.jp/dotnet/Excel03.htm#teisuu VBA での定数名が解っている場合は、オブジェクトブラウザから定数名を検索すれば簡単に探せます。 (VB2010 の IDE 上の画面から【F2】キーを押すとオブジェクトブラウザが表示されますので、検索 ボックスに定数名を入力して検索して見て下さい。)
8・解放処理の確認は、Excel 2007 以上で VB2010(Framework 4) が条件となります。 VB2008 や VB2005 では、ReleaseComObject の仕様が変更されているので、各自ご自分の環境上で 確認して下さい。 又、下記のようなツールを作成してチェックすると一目瞭然で、解放漏れや問題個所が判別できます。 ★自作ツールの【Excel Com オブジェクトの解放漏れチェックツール(480)】(有料サンプル集に付属) http://www.hanatyan.sakura.ne.jp/dotnet/excelcom.htm
上記ツールのテスト用のコードですが、これを見ればどのようなコードが問題かも解ります。 http://www.hanatyan.sakura.ne.jp/dotnet/comtest.htm
9.このサンプルは、実行時バインディング(レイトバインディング)では、使用しないで下さい。 Excel が解放されなくなります。 又、このサンプルを参考にしたり、掲示板で質問されるレベルの方は、参照設定を外して Excel を操作 されると、Excel が解放されなくなり、原因もご自分で判断できない事になりますので、せめて動作確認中は、 事前バインディング(アーリーバインディング)で操作するようにして下さい。
10.VBA のサンプルを掲載している主なサイト インストラクターのネタ帳 → Excel 2003 の仕様・制限値 http://www.relief.jp/itnote/archives/000579.php
Excel2007図解説明 → Excel 2007 ワークシートとブックの仕様と制限 http://www.excel-img.com/system01.html moug モーグ → Excel VBA テクニック (テクニック数 728) http://www.moug.net/tech/exvba/
ミコの黄色いおうち http://park11.wakwak.com/~miko/miko.htm
Excelでお仕事!「VBA基本」メニュー http://www.asahi-net.or.jp/~ef2o-inue/menu/menu04.html Excelでお仕事!「VBA応用」メニュー http://www.asahi-net.or.jp/~ef2o-inue/menu/menu05.html
【Excel VBA サンプル集】- ExcelVBA@Workshop http://excel.style-mods.net/tips_vba/index.htm
Tips箪笥 VBA Tips http://www.geocities.co.jp/SiliconValley/4805/vbatips/vbatips000.htm
後は、[VBA サンプル] 等をキーワードにして検索してみて下さい。
11.当サイト内でのExcel 関係のサンプルの掲載ページ トップページ http://www.hanatyan.sakura.ne.jp/index.html の左のフレーム内のメニューの VB2005〜関係専用 http://www.hanatyan.sakura.ne.jp/dotnet/index.html のメニューの Excel・Word・他 をクリックして下さい。
トップページ http://www.hanatyan.sakura.ne.jp/index.html の左のフレーム内のメニューの VB6.0関係専用 http://www.hanatyan.sakura.ne.jp/vbhlp/index.html のメニューの Excel & Word関係 をクリックして下さい。
エクセルVBAキーワードリファレンス集 http://www.hanatyan.sakura.ne.jp/vbhlp/excel10.htm
このサンプル投稿用掲示板にも色々投稿してありますので、カテゴリ別表示 内から探して下さい。
12.事前バインディング(アーリーバインディング)で操作していると変数の型を指定する必要があるが 変数の型が解らない場合は、下記のようにして調べて下さい。
Excel2007のShape.TextFrame2.TextRangeの型が分かりません の 魔界の仮面弁士 さんの回答 http://hanatyan.sakura.ne.jp/vbnetbbs/wforum.cgi?mode=allread&no=9387#9390
13.掲載サンプルは、修正・追加等を逐次行っておりますので、最新のものをご覧下さい。
|