Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


10126 / 13644 ツリー ←次へ | 前へ→

【23540】開いていないファイルのパスを所得する方... たいくん 05/3/26(土) 11:41 質問[未読]
【23542】Re:開いていないファイルのパスを所得する... IROC 05/3/27(日) 9:30 回答[未読]
【23543】Re:開いていないファイルのパスを所得す... たいくん 05/3/27(日) 12:49 質問[未読]
【23544】Re:開いていないファイルのパスを所得す... ponpon 05/3/27(日) 13:28 発言[未読]
【23545】Re:開いていないファイルのパスを所得す... たいくん 05/3/27(日) 14:24 お礼[未読]

【23540】開いていないファイルのパスを所得する方...
質問  たいくん  - 05/3/26(土) 11:41 -

引用なし
パスワード
    フォルダー名など変更されていた場合ファイルを開く際エラーで止まる為
パスを所得してセルに書きこんでおいてそれを使用してファイルを開こうと
しているのですが、初めに開いているファイル(マクロが書かれているファイル)
は下記様にして所得したパスをセルに書き込んでいます。
Sub パス所得()
  Dim FNam As String
  Dim Ret As String
  Dim Fso As Object

  FNam = ThisWorkbook.FullName
  Set Fso = CreateObject("Scripting.FileSystemObject")
  Ret = Fso.GetParentFolderName(FNam)
  Range("A30").Value = FNam
  Range("A31").Value = Ret
End Sub

ちなみにマクロ記述のファイルは下記の様なパスで
\\Ssum2330\com01_p\****\出来高\報告.xls"
開いていないファイルのパスは下記の様な感じです
\\Ssum2330\com01_p\****\累積\枚数.xls"
で****のフォルダー名が勝手に変更されていた為エラーでマクロが動作しなくなったのでこの様な方法に使用と思ったのですが

一応関数を使って上のマクロに下の記述を追加して処理使用と考えたのですが
Range("A32").Select
ActiveCell.FormulaR1C1 = "=SUBSTITUTE(R[-1]C,""\出来高"",""\累積"")"
枚数.xlsのファイルが別のフォルダーに移動された場合上の関数では対応出来ません。
開いていないファイルのパスを所得する方法が判りませんご教授いただけないでしょうか?(Excel97です)


【23542】Re:開いていないファイルのパスを所得す...
回答  IROC  - 05/3/27(日) 9:30 -

引用なし
パスワード
   >****のフォルダー名が勝手に変更されていた為

変更した人しか判断できないような条件では
マクロに判断させる条件として不十分では?

同じようなフォルダが複数あった場合などに
何を基準に変更されたパスが正しいと判断するのでしょうか?

【23543】Re:開いていないファイルのパスを所得す...
質問  たいくん  - 05/3/27(日) 12:49 -

引用なし
パスワード
   マクロで使用するファイル名は判っているので、そのファイルのパスが所得出来ればよいのですが?
マクロが記述されたファイルを開きシートにあるコマンドボタンを押したらマクロが動作する様にしているので、この開いているファイルのパスは所得出来るのですがマクロで開こうとしているファイルのパスが違っている場合、エラーで止まってしまうのです。この為このマクロで開くファイルのパスが所得出来ないかと思ったのですが?説明が下手ですいません。

【23544】Re:開いていないファイルのパスを所得す...
発言  ponpon  - 05/3/27(日) 13:28 -

引用なし
パスワード
   ▼たいくん さん:
ponponです。こんにちは。

>マクロで使用するファイル名は判っているので、そのファイルのパスが所得出来ればよいのですが?
 
 ありそうな場所を、Dir関数かFileSearchで探してパスを取得するしかないのでは?
ただし、サブフォルダーまで探す方法は、確か過去ログにいくつかあったと思います。

 考え方を変えてCloseするときに、いつもの場所と特定のPathの2カ所に保存するようにしたらいかがでしょうか?(初心者の私にはできるかどうかわかりませんが)
開くときは、特定の場所からというように・・・
 これでも、いつもの場所のフォルダ名が変えられていたら、問題があるとは思いますが。
 

【23545】Re:開いていないファイルのパスを所得す...
お礼  たいくん  - 05/3/27(日) 14:24 -

引用なし
パスワード
   ▼ponpon さん:
こんにちは。

> 考え方を変えてCloseするときに、いつもの場所と特定のPathの2カ所に保存するようにしたらいかがでしょうか?
なるほど・・・その手がありますね!

>開くときは、特定の場所からというように・・・
そうですね、必要なファイルを全て同じフォルダーに入れて置けばマクロ記述のファイルを開きパスを所得すれば、上手く出来そうです。

ponponさん、ご教授ありがとう御座います。

10126 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free