アプリ版:「スタンプのみでお礼する」機能のリリースについて

絶対パスでのフォルダ作成は確認したのですが、
相対パスにしますと
パスが見つかりませんと出ます。
初心者なので問題点をお教えいただけると嬉しいです。


エクセルと同じ階層の”A”というフォルダの下層にある”B”というフォルダを
エクセルのActiveCellをフォルダ名としてBと同じ階層にコピぺしたいです。

1階層         → 2階層
開いているエクセル   →
A(フォルダ)     →B(フォルダ)
               ↓コピペ
              ActiveCell名前(フォルダ)


Sub フォルダ()
Cells(Rows.Count, 4).End(xlUp).Select
ActiveCell.Offset(0, -1).Select

X = ActiveCell.Value
Y = ThisWorkbook.Path & "\A\B"
Z = ThisWorkbook.Path & "\A\" & X

Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
fso.copyfolder Y, Z

End Sub

問題点を指摘いただけると助かります。

A 回答 (2件)

No.1さんの『ご提示のコードも「絶対パス」での処理』に完全に同意します。



さて、本題です。
「パスが見つかりません」と出るんですよね?
このVBAが書いてあるブックって、保存しました?
保存したことが無いブックでは、ThisWorkbook.Pathを正しく取得することができないので、結果的に不完全なパス名が生成されてませんか?
とりあえず、変数Zの中身を確認してみて下さい。
    • good
    • 0

こんにちは



>絶対パスでのフォルダ作成は確認したのですが、
ご提示のコードも「絶対パス」での処理ではないのですか?

簡単にテストしてみましたが、単純なフォルダ名指定であれば問題なく実行できるようです。

可能性として、変数Zのパスがおかしなものになっている可能性がはありませんか?

例えば、変数Xの文字列の中に「¥」が含まれているとか…
そのような場合は、措定したフォルダがあらかじめ作成されていて存在しないと「パスが見つからない」になります。
あるいは、フォルダ名に他の使用できない文字等を含んでいるとか。
    • good
    • 0

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