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

エクセルVBAを使い、ネットワークドライブ上にあるフォルダをローカルに、出来れば名前を変更してコピーをしたいのですが可能でしょうか?

たとえばネットワークを Yドライブ。フォルダを A とします。
ローカルのデスクトップの Bフォルダ 内にコピーされたフォルダの名前を任意の名前、具体的には 20081106 などに変えて保存したいのです。
この「任意の名前」は出来れば自動で作業日の日付、出来なければエクセル上のセルにある数字(あるいは文字列)に置き換えたいのです。

作業日ごとにフォルダが出来上がっていく、という事がしたいのですがどのような構文になりますか?
最終的にはボタンに構文を宛がいたいのですが。。。

A 回答 (2件)

さて、VBAの理解度の問題もありますが...



ファイルの複写
FileCopy 入力ファイル名、出力ファイル名

フォルダー内にあるファイルを得るには
初回
FileName = Dir(対象フォルダー)

2回目からは FileName = Dir()



InRoot = "Y:\A\"
OutRoot = "C:\B\" & Format(Now(),"yyyymmdd")
MkDir OutRoot
OutRoot = OutRoot & "\"
FileName = Dir(InRoot)
While FileName <> ""
FileCopy InRoot & FileName, OutRoot & FileName
FileName = Dir()
Wend

旧来の命令だけで組み立てた場合ですが
最近はFileSystemObject使ったやり方が増えてます。
旧来はShiftJisでテキストファイルなどが書かれていましたがユニコードで書かれていると文字化けするので
ヘルプでFileSystemObjectを検索してみてください
フォルダー丸ごとコピーなども使えます。
    • good
    • 0

試しにマクロの自動記録を取ってみるとか。


そこから質問を絞ってみる。
    • good
    • 0

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