エクセル操作でThisWorkbookの情報をVBで表示するには

解決


まりも  2007-11-10 19:50:54  No: 99687  IP: 192.*.*.*

お願いします

エクセル2003
VB 2005 Express
を使用しています。

複数のエクセルファイルがあります。(現在100ファイル程度、増加中)
各々のエクセル上でマクロを組んでも良いのですが
改良、修正が発生した場合、面倒な事になりますので
VBで処理をしたいと考えています。

そこで質問なのですが
エクセル上のボタン操作でVBによる処理をする場合に
VBに対し処理対象となるエクセルファイルの指定で
実際にボタン操作したActiveWorkbook、ActiveWorksheet、或いは
パス等の情報をVBに認識させるにはどうすれば良いでしょうか

編集 削除
魔界の仮面弁士  2007-11-10 19:55:57  No: 99688  IP: 192.*.*.*

> 各々のエクセル上でマクロを組んでも良いのですが
それは、100個のファイルそれぞれにマクロを組み込むという意味でしょうか?
マクロファイルは1つだけで良いと思いますが…。

> VBで処理をしたいと考えています。
VB2005 だと、実装が面倒だと思いますよ。
Marshal.ReleaseComObject を、強く意識しなければなりませんし。

# VSTO を利用すれば、ある程度楽になりますけど。

編集 削除
まりも  2007-11-10 21:54:24  No: 99689  IP: 192.*.*.*

魔界の仮面弁士さん  ありがとうございます。

VB2005 だと面倒なのですかぁ

はい。
100個のファイル同じ内容のファイルで全てにマクロを記録するのは避けたい
次第です。
ファイルは1つだけで良いとの事ですが・・
マクロ専用ファイルを1個用意する事と認識しました。
しかし、そうすると一度マクロ専用ファイルをopen→closeと動作に時間が
かかると考えました。
マクロ専用ファイルを非表示で動作できるのならありがたいのですが・・
無理でしょうか

編集 削除
魔界の仮面弁士  2007-11-11 01:06:33  No: 99690  IP: 192.*.*.*

# ここの掲示板は VB2-VB6用です。VB2005 は対象外です。

> しかし、そうすると一度マクロ専用ファイルをopen→closeと動作に時間が
> かかると考えました。

マクロファイルを開くのは、一度だけではありませんか?

何をさせたいのかが明かされていないので、判断に困りますが、
たとえば、フォルダ内の 100個のファイルを順に処理していくのなら、
  1. マクロファイルを開く。
  2. そこに書かれたマクロを実行。
  3. そのマクロに、100個のファイルを順にOpen→処理→Closeさせる。
  4. 処理が終わったら、マクロファイルを閉じる。
で済むような気がします。

編集 削除
まりも  2007-11-11 11:14:48  No: 99691  IP: 192.*.*.*

ありがとうございました。
別の場所で相談してみます

編集 削除