| 
    
     |  | UO3様 >ブックをアクティブにしようとして 9 インデックスエラーがでるのは
 >その名前のブックが開かれていないからです。
 >Activate する前に MsgBox t で、アクティブにしようとしているブック名を
 >確かめてみられてはいかがでしょう。
 むぅ、一応ブックは開いてるはずなのですが…
 確認したtの値は t = "【作成中】004_台帳クローズチェック_2012/11/26.xls"でした、日付は取得出来ており、日付もあっていたのでなぜインデックスエラーなのかな・・・と
 
 >なお、エラーとは関係ありませんが、
 >Windows(t).Activate
 >これは、
 >Workbooks(t).Activate
 >のほうが、より普通の書き方かもしれません。
 なるほど、より普通の書き方という概念がまだ身についていませんのでもっと勉強をします。
 
 ウッシ様
 >表示例:t = "【作成中】004_台帳クローズチェック_2012/11/26.xls"
 >このファイル名は無効な名前では?
 そうでしたね、/が入るファイル名はありえないですね
 
 >普通は「+」ではなくて「&」とします。
 >Mid$(t, 21, 4)とMid$(t, 25, 2)が何を取得しようとしているのか分かりません。
 ネットで色々探してたら似たような構文があったので参考にしていました、
 Mid〜で【作成中】004_台帳クローズチェック_20121126.xlsファイルのyyyymmddを個々に取得しようとしてました、一応日付は取得していたので問題ないのかなと思っていました。
 
 >ファイル名として付けられる有効な名前としたら
 >t = "【作成中】004_台帳クローズチェック_" & Format(t, "yyyymmdd") & ".xls"
 これに変更しましたら問題無く動作しました、ありがとうございます。
 
 
 >[追加]
 >Activateする必要が有るのかどうかも検討して下さい。
 別ファイルを開いてから元ファイルへ転記する処理をしているのでブックのActivateをしなければならないかなと…まだやり方、考え方が未熟ですので色々考えたいと思います。
 
 
 素早い回答ありがとうございました。
 まだ何が普通の書き方、別の考え方がある等が理解してませんが少しずつ勉強したいと思います。
 
 |  |