次の方法で共有

Excel2013 VBAでファイルを間接指定したプログラム実行した時、エラー表示される

Anonymous
2016-01-08T05:50:34+00:00

エラー表示:インデックスが有効範囲にありません。

下記のようなプログラムです。

    ・

    ・

    ・

FILE1="コマンド"            ⇒「コマンド」という名前のファイル

Windows(FILE1).Activate ⇒実行するとここで止まってエラー上記の表示

ActiveWindow.Close

Excel2010ではエラーにならずに"コマンド"ファイルをクローズ

してくれました。2013では使い方が変わったのでしょうか。

使い方を教えていただけないでしょうか

開発者テクノロジ | Visual Basic for Applications

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

5 件の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2016-01-09T13:26:04+00:00

    >2010以前のVersionであれば仕様が異なる可能性もあるのでしょうか

    2007からは基本的にはExcel自体同じようなものですし、ましてVBAのこの辺りはExcel97でも同じようなものです。

    ただ、プログラムの組み方として、複数のExcelをプログラムから開いているのであれば、Windowなんかに頼らず、BookをOpenした時、Workbookオブジェクトを変数に残して置き、それでCloseを含め操作するのが常道です。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2016-01-09T13:13:07+00:00

    ご教示、ありがとうございます。

    MSDNフォーラムに投稿してみます。

                              以上

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  3. Anonymous
    2016-01-09T13:11:01+00:00

    別にExcel2010 と2013のVBAで大きな違いはありません。

    書かれている内容だけですと推測するしかないですが

    ①変数FILE1にちゃんとしたものが入っていないとか空

    ②タイトルバーに表示されている対象ブック名とFILE1の中のファイル名に拡張子の有無がそろっていない

    こんなところかと思います。

    返信ありがとうございます。

    簡略化して書いたため、うまく伝わらなかったところもあろうかと思います。

    もう少し詳しく欠かさせていただきます。

    Excel2010での内容をそのままExcel2013に移したものであり、またプログラムは1つではなく10を超えるプログラムで同様の処理をしています。そしてすべてのプログラムで同じ処理のところで同じエラーがでます。2010では問題なく処理できます、

    ①「変数FILE1・・・・空」ではとありますが、「変数FILE1]」は実際にはエクセルシートに並べたいくつかのファイル名を順次指定します。これらのファイルは順次立ち上げ用のVBAプログラムで立ち上げ、立ち上がったファイルにはフラッグを”1”にセットする。フラッグが”1”にセットされたファイルはクローズ用コマンドを使ってクローズるのですが、前出のようなエラーとなってしまいます。エラー時点で”変数FILE1"の内容も確認済みで、問題ありません。

    Excel2010と2013が同じ仕様であれば私としてはお手あげです。

    もしかしてExcelのVersionの勘違いがあるのでしょうか。2008年購入のPC-VISTAに入っていたOffice製品ですが、2010と思っていましたが、私の勘違いでしょうか?

    PCが壊れてしまったので、今では確認ができない状態です。

    もし2010以前のVersionであれば仕様が異なる可能性もあるのでしょうか。

    お分かりでしたらご教示願います。              以上

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  4. Anonymous
    2016-01-08T09:01:59+00:00

    別にExcel2010 と2013のVBAで大きな違いはありません。

    書かれている内容だけですと推測するしかないですが

    ①変数FILE1にちゃんとしたものが入っていないとか空

    ②タイトルバーに表示されている対象ブック名とFILE1の中のファイル名に拡張子の有無がそろっていない

    こんなところかと思います。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  5. Anonymous
    2016-01-08T08:16:06+00:00

    ​おとなしいトイプードル さん、こんにちは。

    マイクロソフト コミュニティをご利用いただき、ありがとうございます。

    VBA のプログラムを実行時に「インデックスが有効範囲にありません」と表示されてしまうのですね。

    VBA やマクロが関連する使い方の内容であれば、開発者の方々が多く利用されている MSDN フォーラムに投稿してみると有効な情報が集りやすいと思います。

    VBA のカテゴリもありますので、こちらを利用してみてはいかがでしょうか。

    MSDN フォーラム - Visual Basic for Application(VBA)

    せっかく質問していただいたのに、フォーラムの紹介のみとなってしまいごめんなさい。

    今後ともマイクロソフト コミュニティをよろしくお願いします。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません