[[20220401162648]] 『FSOを使用してデスクトップにフォルダを作成』(新入社員) ページの最後に飛ぶ

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

 

『FSOを使用してデスクトップにフォルダを作成』(新入社員)

「FSOを使ってデスクトップにフォルダを作成し、その作成したフォルダの中にテキストファイルを作成する」という課題が分かりません。

私が以下のように入力したところ、「パスが見つかりません」というエラーが出てしまいました。


Sub フォルダ()

MsgBox Environ("USERNAME")

End Sub

Sub テスト()

Dim FSO As Object
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CreateFolder "C:\User\macro\Desktop\フォルダ1"

Set FSO = Nothing

End Sub


Set FSO = CreateObject("Scripting.FileSystemObject") 私はここがパスだと思っていたのですが、この部分ってパスではないのですか?

ご回答お待ちしております。

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


すみません、Set FSO = CreateObject("Scripting.FileSystemObject")でなく、FSO.CreateFolder "C:\User\macro\Desktop\フォルダ1"がパスだと思っていた、の間違いです。
(新入社員) 2022/04/01(金) 16:36

「C:\User\macro\Desktop」というパス(フォルダ)がないのでしょう。

デスクトップのパスを確認してみましょう。

(わからん) 2022/04/01(金) 16:39


解決したようです。

https://www.moug.net/faq/viewtopic.php?t=81364

(めいぷる) 2022/04/01(金) 17:19


訂正の投稿がありましたし、マルチポスト先で解決したようですがそのまま。

■1
>この部分ってパスではないのですか?
はい違います。

■2
まず、FSO(FileSystemObject)について理解するところから手を付けるべきでしょう。
http://officetanaka.net/excel/vba/filesystemobject/

■3
また、【パス】ということであれば↓の部分です。
 "C:\User\macro\Desktop\フォルダ1"

このような、デスクトップなどのいわゆる【特殊フォルダ】のパスを取得する場合は↓が参考になるでしょう
http://officetanaka.net/excel/vba/tips/tips107.htm

■4
上記を踏まえると↓のような処理順になるはずです。

 (1)デスクトップのパスを取得する
 (2)(1)の配下に「フォルダ1」というフォルダが(なければ)作成する
 (3)(2)の配下(中に)テキストファイルを作成(保存)する

このうち、FSOの出番は(3)になろうかとおもいます。
((2)でもフォルダの存在チェックに使えるかもですが)

■余談1
ニックネームや質問から察するに、どの程度の実力があるのか確認するという意味も含めて課題を出されているのではないでしょうか?
質問掲示板で質問するにしても、まずは教育担当の方に確認をとってからにされたほうが良いと思いますが如何でしょうか?

■余談2
この掲示板ではマルチポスト(複数の掲示板に同じ投稿をすること)を許容していますが、推奨しているものではないとおもいます。
また、「初めての方へ」にも以下のようにあるのできちんと対応されるとよいでしょう

[マルチポストで書き込んだ方]は他の掲示板で解決した内容をこのボードでも公開して、 書き込みが将来他の人の役に立つように協力してください

(もこな2 ) 2022/04/01(金) 17:36


コメント返信:

[ 一覧(最新更新順) ]


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