プロが教える店舗&オフィスのセキュリティ対策術

OS:Windows XP
Office:2003

複数のエクセルブックを開いている状態で、
ある任意のブックをアクティブにしてセルの操作(コピペなど)をしたいのですが、
"インデックスが有効範囲にありません"とエラーになってしまいます。

現在のソースは、

strFileName = "\\共有サーバー\共有\TEST.xls"

Windows(strFileName).Activate ←ここでエラーになる
Sheets("Sheet1").Select
Cells.Select
Selection.Copy

Windows("貼り付け先.xls").Activate
Sheets("Sheet1_n").Select
Cells.Select
ActiveSheet.Paste

です。

どこが悪いんでしょうか?
正しいコーディングを教えてください。

よろしくお願いします。

A 回答 (5件)

>Windows(strFileName).Activate ←ここでエラーになる



Windows("TEST.xls").Activate
ならOKでしょう。ファイル名を指定します。

この回答への補足

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

ファイル名は日々変わるので、
ダイレクトに指定することができないのです。

他に何か解決策はありますでしょうか?

補足日時:2008/03/18 21:26
    • good
    • 4

>ファイル名は日々変わるので、ダイレクトに指定することができないのです。



変化する条件(ファイルの選択のしかた)をプログラミングに出来るなら可能です。
    • good
    • 0
この回答へのお礼

前回はありがとうございました。

変化する条件(日付がYYYYMMDD形式)はプログラミングできています。
今回はフルパスを指定したのが間違いだったみたいですね。

ご回答、ありがとうございました。

お礼日時:2008/03/19 09:23

初めまして。


マクロの自動記録機能を使用すれば,宜しいのではないでしょうか。

もう一つの方法は,ユーザーホームを使って実行させる事も,出来るかと思います。
    • good
    • 1
この回答へのお礼

マクロ記録をしようすると、
ダイレクトにファイル名を指定してしまうんですよね、、、。

ユーザーホームは初耳です。
調べてみます。

ありがとうございました。

お礼日時:2008/03/19 09:22

いや、だから


strFileName = "TEST.xls"
Windows(strFileName).Activate
ということ。 
    • good
    • 0
この回答へのお礼

何度もすみません、
ファイル名だけで指定するとうまくいきました。

ありがとうございました。

お礼日時:2008/03/19 09:12

まずは、


strFileName = "EST.xls"
ファイル名に、パスは不要です。
    • good
    • 0
この回答へのお礼

ご回答、ありがとうございました。

パスを含めずフィル名だけの変数にて実行するとうまくいきました。

お礼日時:2008/03/19 09:11

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A