タイトル : Re^10: VB2005からAccess2000への連携時のトラブル 投稿日 : 2008/06/28(Sat) 18:32 投稿者 : 魔界の仮面弁士
> このような処理をクラスで行う場合、クラスはどのようにするのが良いのでしょうか? 前提条件を崩すようですが、私なら VBA か VBScript で実装します。 .NET からだと制御が煩雑になるので…。 .NET でやるにしても、COM を真面目にラッピングするのは大変なので、 フィールド変数による状態管理は行わず、すべてプロシージャ内のローカル変数にして、 Open から Quit まで、一つのメソッドで完結させてしまう事が多いです。 # 全てのコードを一つの巨大なメソッドとしてコーディングするという意味ではなく、 # そこから、Shared な自作プロシージャをヘルパメソッドとして呼んだりはします。 > 書き込みの実行→1セルごと? できれば、1 セルごとの制御は避けた方が良いでしょう。効率が悪すぎます。 出力先の問題は、読み込んだ後から移動させれば済む話なので、まずは Workbooks.OpenDatabase メソッドや ListObjects を使って、mdb データを 直接シートに読み込んだり、あるいは、複数セル範囲(Range.Value)に対して 配列を割り当てるなどして、一括して読み込ませる事ができないかどうかを 検討してみてください。 まぁ、元となるテンプレートやデータ構造の仕様次第では、一括読みこみが 使いにくい場面もありえますけれども。 > ファイルのOpenとClose→これを行うのは元のPassが指定されたタイミングですか? Pass というのは、パスワード(password)のことですか? それとも、ファイルの位置(path) のことでしょうか? |