[[20240206085149]] 『パスが違うとエラーが出る』(MOKUZOU) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『パスが違うとエラーが出る』(MOKUZOU)

excelでC:\Users\mokuzou\downloads\で処理出来るVBAのコードが
C:\Users\mokuzou\ダウンロード\temp\ではエラーが出て処理できない。

  エラー 53「ファイルが見つかりません。」

VBAは、パスの違い以外は全く同じコードです。
パスに日本語があるとダメですか ?

EXCELのVBAではパスの指定で処理できないケースがありますか?

この場合はどうすれば良いのですか?

< 使用 Excel:Excel2021、使用 OS:Windows10 >


書きわすれました。

 With Fso   'fso=CreateObject("Scripting.FileSystemObject")
                  .MoveFile OldName, NewName   ---> ここでエラーがでる。

(MOKUZOU) 2024/02/06(火) 08:58:35


 カタカナ表記の「ダウンロード」はそう見せてるだけで、実際は「downloads」 フォルダなので「ファイルが見つかりません」になると思います。
 なんでそんなことするかは、Microsoftに直接言ってください。

 ここが一番わかりやすい説明かなぁ・・・。
https://www.kerislab.jp/posts/2022-01-30-windows-explorer-display-name/

 あと環境変数使ったパスのほうが良かったりしない?
 Environ("USERPROFILE") & "\downloads\
(稲葉) 2024/02/06(火) 09:27:06

 既に解説いただいたとおりかと思います。

 Explorerにある「パスのコピー」を利用するとよいでしょう。
 これを利用して現在のファイル名のフルパスをクリップボードにコピーして
 OldName = のあとに貼り付けすればよいのでは?

(xyz) 2024/02/06(火) 09:39:37


 >Environ("USERPROFILE") & "\downloads\
 を否定しているように見られてしまいます。その積りはありません。
 より一般的な局面でも使える手法、確認手法として「パスのコピー」を紹介しました。
(xyz) 2024/02/06(火) 09:47:32

ありがとうございます。

解決しました。
(MOKUZOU) 2024/02/06(火) 10:56:00


 直接ではないですが、特殊フォルダを取得し、
 その特殊フォルダ直下にあるフォルダ(DownLoad)を取得す方法もあります。

https://debuggingasusual.blogspot.com/2016/12/vba.html
(MK) 2024/02/06(火) 11:21:30


 私がリンクした方法でもパスは通ってるぽいですが、稲葉さんご紹介
 の環境変数を使った方法はフォルダのプロパティの「場所」と同じ
 パスが取得出来ました。
(MK) 2024/02/06(火) 11:41:20

 ダウンロードフォルダの取得方法はいろいろあると思いますが、こんなのも

 Debug.Print CreateObject("Shell.Application").Namespace("shell:Downloads").Self.Path
(´・ω・`) 2024/02/06(火) 11:49:07

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.