1つだけ過去を変えられるとしたら?

すいません、エクセルVBAのことで質問があります。
使っているのはExcel2000です。

1 エクセルブック"A"を開く
2 当方で使用している業務用のアプリケーションを使いデータをエクセル形式で搬出
  ⇒"AAA"とは別のエクセルプログラムとして"BooK1"が開かれる

このとき、ブック"A"のVBAコードに
Workbooks("Book1").Activate
と記載しても実行時エラーとなってしまいます。
別のエクセルプログラムで開いたブックを指定してアクティブにするにはどのようなVBAコードを記載したらよろしいのでしょうか。
同じプログラムとして開ければ問題ないのでしょうが、
当方で使っているアプリケーションですと、データを搬出するときには必ず別のプログラムとしてブックが開かれてしまう模様で
どうにも回避できません。
どうぞよろしくご教示願います。

A 回答 (3件)

アプリから出力されたbook1を一旦別名保存すりゃすむことじゃないの?


またはVBの書いてあるbook (A) を後から開くとか
    • good
    • 0

こんにちは。



>Workbooks("Book1").Activate
>と記載しても実行時エラーとなってしまいます。

新規ブックですか?指定したブックで、拡張子のない "Book1"というのは、ありえません。
オープンし、元のブックで何もしないままなら、そのブックが、Active になっているはずです。

>データを搬出するときには必ず別のプログラムとしてブックが開かれてしまう模様で
オートメーション・オブジェクトを使っているなら、ブック自体をオブジェクトにして使えばよいと思います。

それと、「搬出」とは何を意味するのか、プログラミングにも、Excelにもない言葉です。搬出というのは、「持ち出す」という物理的な言葉を意味するはずです。

いずれにしても、常識的にVBAプログラマなら、ご質問の内容からピンポイント解答は不可能ではないでしょうか。コードの全体をみないと、何ともいえません。通常のマクロでは、AppActivate は、ほとんど必要がありません。
    • good
    • 0

アクティブにするだけなら、


AppActivate "Microsoft Excel - Book1"
でどうでしょう。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報