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

お世話になっております

excelで「今開いたシート名までのパス」を取りたいのですが、方法がわかりません

現在
For FileNo = 1 To .FoundFiles.Count(あるフォルダの中にある)
***************
For intNum = 1 To intSC(ファイルの中のシートを端から開いて作業する)
***************
というようにfor nextであるファイルのあるシートを指定して作業するようになっています
いったん、別のファイルを選択してからまたこの開いたシートに戻る必要があるため、この直前に開いたシートのパスが必要なのです

「ThisWorkbook.Path」などではコードが書いてあるファイルのパスになってしまいます

どうか教えていただけると大変助かります
宜しくお願いします

A 回答 (3件)

.FoundFiles.Countを使える人が、


>Workbooks.Open "myBook.Path & " \ " & myBook.Name"
こんな書き方をするとはちょと信じられませんが。。(^^;;;

という突っ込みは置いといて。。

myBook.PathとかmyBook.Nameは変数ですので(定数ではない)
 ””で囲む必要はありません。

 ¥ だけを囲みます。

 Workbooks.Open myBook.Path & " \ " & myBook.Name

もしこれでエラーがでるようでしたら、質問者のコードを全て提示してください。
その方が解決が早いでしょう。
 
    • good
    • 0
この回答へのお礼

ありがとうございました
シートの選択もやっとなんとかできました
もっとスマートな書き方があるだろうとは思いましたが
とりあえず急ぎだったので今回はこれでよしとします
すぐに対応していただき、またご指摘いただき大変ありがとうございました

お礼日時:2008/03/27 16:43

>別のファイルを選択してから


>またこの開いたシートに戻る必要があるため
>この直前に開いたシートのパスが必要なのです 

この文言ではいくつか受け取り方がありますが、
それは無視して、パスの取得方法のための回答


●のコードを追加する
'-----------------------------------------
● Dim myBook As Workbook

For FileNo = 1 To .FoundFiles.Count

● Set myBook = Workbooks.Open(.FoundFiles(FileNo))

  For intNum = 1 To intSC
    ************
'-------------------------------------------

開いたブックのパス:   myBook.Path
開いたブックのフルパス: myBook.Path & "\" & myBook.Name
開いたブックの選択:   myBook.Select

但し、このオブジェクト変数myBookをどこで使用するかで、
宣言場所が違ってくるのは言うまでもありません。
以上。
 
    • good
    • 0
この回答へのお礼

すいません
Workbooks.Open "myBook.Path & " \ " & myBook.Name"
とすると「型が一致していません」というエラーがでます
色々やってみたのですが、どうしてもできませんでした
そしてそこからシートを指定する方法がわかりませんでした
でも、ご回答いただきありがとうございました
理解が足りず申し訳ありません

お礼日時:2008/03/26 17:40

>別のファイルを選択してからまたこの開いたシートに戻る必要があるため、


ファイルオブジェクトないしシートオブジェクトを変数に保存しておけばいいのでは?
パスは別に必要じゃないです。
    • good
    • 0
この回答へのお礼

すいません。
変数にいれるためのファイルオブジェクトないしシートオブジェクトの書き方が違っているらしくどうしてもできません
ご回答いただきありがとうございました
いただいたお答えを参考にもう少しオブジェクトについて調べてみたいと思います

お礼日時:2008/03/26 17:31

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