人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセルVBAについて質問です。
○○.xlsというエクセルファイルをアクティブにするのに、
Workbooks("○○.xls").Activateとして
実行したのですがうまくいきません。
これでいいのでしょうか?
間違っているのなら正しいものを教えてください。
正しいならどうしてこれがアクティブにならないのか、
考えられる範囲で理由を教えてください。

●質問者: taroemon
●カテゴリ:コンピュータ
✍キーワード:VBA xls アクティブ エクセル ファイル
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● threecloudjp
●27ポイント

推測ですが、Excelから作成して、まだ保存されたことのない出来立てホヤホヤのブックではないですか?

それならば、拡張子の記述があるとエラーになります。

拡張子を除いたブック名のみの記述で再度流してみるか、あるいは、ブックを一度「.xls」形式で保存してからそのコードで試してみるか、いずれかで成功すると思います。

http://support.microsoft.com/ph/2512

◎質問者からの返答

ご回答ありがとうございます。

できたてのほやほやということはありません。

一応念のため保存し直して、

実行してみたのですがだめでした。

エラーはでません。

ウィンドウの一番手前にさせたいのですが、

うまくいきません。

スクリプト自体はこれでよいのでしょうか?

またのご回答をお待ちしています。


2 ● threecloudjp
●27ポイント

閲覧ポイントを余計に使わせてしまって申し訳ありません。

どのようにうまくいかないのかを詳しく説明していただけると、答えに近づくかもしれませんが…。

エラーは出ないんですよね。

ということは、とりあえず最後までマクロは流れてしまうのだが、結果がなぜか思ったようになっていない、ということですかね。


このコードだと同じExcelアプリケーションの中で開いているブックどうしでないとうまくいきませんが、それは大丈夫なのでしょうか。

もしExcelアプリケーションが別窓ならば、べつにコードを作らんといかんです。


ちなみに対処療法にはなりますが、同一のExcelアプリケーション内で複数のブックが重なっている場合

Application.Windows(j).activate

で、上からj番目にあるウィンドウがアクティブになります。


でも、なんででしょうかね。

他の方が回答されていたらコメントでよいので、もうちょっと考えさせてください。



http://www2.moug.net/bbs/exvba/20060928000029.htm

◎質問者からの返答

ご回答ありがとうございます。

僕は他(エクセル以外)の複数のアプリケーションから、

○○.xlsをアクティブにしたいと考えています。

だとするならこのマクロ違うんでしょうか?

あとは思いつくことはありません。

説明すると言ってもエラーが出ず、

ただ動かないだけです。

ちなみに他のマクロはちゃんと動きます。

以上、よろしくお願いします。


3 ● きゃづみぃ
●26ポイント

>僕は他(エクセル以外)の複数のアプリケーションから、

>○○.xlsをアクティブにしたいと考えています。

書かれたマクロを使う想定は、別のエクセルファイルから 別のエクセルファイルを アクティブにする というものでしょう。

つまり、エクセルではない アプリからでは 無理です。

その別のアプリに エクセルと似たようにVBAなど記述できるものならば 可能ですが・・・。

たとえば マイクロソフトの他オフィス製品。

Word等に VBAを記述して Wordから エクセルのウィンドウを アクティブにするなど。

http://q.hatena.ne.jp/1162738301

◎質問者からの返答

ご回答ありがとうございます。

私の勘違いということのようですね。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ