No.2ベストアンサー
- 回答日時:
次のような方法はいかがでしょうか。
マクロにコードを記述して実行します。
A2、B2のセルを選択して右クリック
↓
「セルの書式設定」をクリック
↓
「表示形式」で「文字列」を選択し「OK」をクリック
(フォルダ名が月日になると思われるので02.09だと
2.09になってしまうためです。)
↓
A1に「="パス名"&A2」、A2に「mm.dd」、
B1に「="パス名"&B2」、B2に「yyyy」を入力
(※パス名はの後ろには必ず\を付けてください。
例:C:\TEST\ )
↓
メニューバーの「ツール」→「マクロ」→「マクロ」をクリック
↓
マクロのダイアログが表示されたらマクロ名に
自由に名前を入力してください。(例:WORDCOPY)
↓
名前を入力しましたら、「作成」をクリック
↓
Microsoft Visual Basicの画面が開きますので
Sub WORDCOPY()の下に次のコードをコピーして
貼り付けてください。
Dim ファイル名 As String 'ファイル名
Dim パス名1 As String 'コピー元パス名
Dim パス名2 As String 'コピー先パス名
パス名1 = Range("A1") & "\" ' パスを設定します。
パス名2 = Range("B1") & "\" ' パスを設定します。
ファイル名 = Dir(パス名1 & "*.doc") ' ←最初のファイル名を返します。
Do While ファイル名 <> "" ' ←ファイル名を全て見るまで繰り返す
FileCopy パス名1 & ファイル名, パス名2 & ファイル名 '←ファイルのコピー
ファイル名 = Dir ' ←次のファイル名を返します。
Loop
Range("A1").Select
MsgBox "コピーしました。"
'****コピー貼り付けはここまで ****
Microsoft Visual Basicの画面を×で閉じます
↓
Excel画面のメニューバーの「ツール」→「マクロ」→「マクロ」をクリック
↓
先ほど付けたマクロを選択して「実行」をクリック
↓
dd.mmフォルダから、yyyyフォルダに*.docがコピーされていると思います。
No.3
- 回答日時:
こんばんは。
>・このdd.mmフォルダから、yyyyフォルダに*.docをコピー。
dd.mm =A2 が、「送り元」で、A1=yyyy が「送り先」ですか?
その順番は、必ず確認してくださいね。
エラーチェックをいくつか施しました。
以下は、なるべく、標準モジュールに設定してください。
Sub TestMacro1()
Dim srcFolder As String
Dim dstFolder As String
'フォルダ名チェック
'送り先
dstFolder = Range("A2").Value
If Right(dstFolder, 1) <> "\" Then dstFolder = dstFolder & "\"
'送り元
srcFolder = Range("A1").Value
If Right(srcFolder, 1) <> "\" Then srcFolder = srcFolder & "\"
If srcFolder = "" Or dstFolder = "" Then Exit Sub
'ディレクトリチェック
If Dir(srcFolder, vbDirectory) = "" Then
MsgBox srcFolder & " が見つかりません", 48
Exit Sub
End If
If Dir(dstFolder, vbDirectory) = "" Then
MsgBox dstFolder & " が見つかりません", 48
Exit Sub
End If
If Dir(srcFolder & "*.doc") = "" Then
MsgBox "送り元には、Wordドュキメントがありません。", 48
Exit Sub
End If
With CreateObject("Scripting.FilesystemObject")
.Copyfile srcFolder & "*.doc", dstFolder
End With
End Sub
ご回答ありがとうございます!
こちらの方法でも私のやりたいことができ、1つの問題に対して
複数の方法があるのだと実感しました。
これかも勉強していきたいと思います。
ありがとうございました。
No.1
- 回答日時:
あらかじめ、フォルダは作成してあるものとして。
yyyyフォルダは仮にC:\yyyyとしてあります。
-----------------
Sub FolderCopy()
'A1 を取得します
OrgFolder = Range("A1")
'Copy先 をセットします
CopyFolder = "C:\yyyy"
'フォルダオブジェクトを取得
Set SourcFolder_Object = CreateObject _
("Scripting.FileSystemObject").GetFolder(OrgFolder)
'OrgFolder内の全ファイルをCopy先にコピー
'サブフォルダも対象になります
SourcFolder_Object.Copy CopyFolder
MsgBox "完了しました"
End Sub
ご回答、ありがとうございます!
さっそく試してみたところ、yyyyフォルダ内に新たにA1のフォルダコピーが作成されました。
ファイルだけをコピーすることはできないでしょうか・・・?
よろしくお願いします!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行して 作業フォルダの中にある PDFファイル名を 3 2023/07/01 15:16
- Visual Basic(VBA) エクセルのマクロについて教えてください 物件ごとのフォルダを作成してます そのフォルダ内にサブフォル 2 2023/07/02 17:58
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/24 08:33
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/01/26 09:50
- Excel(エクセル) セルの値を別ブックのセルの値と突合する 1 2023/01/26 15:10
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/26 17:13
- Excel(エクセル) マクロVBA別Excelブックにデータ転記 2 2022/07/10 23:35
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/21 13:29
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチファイル 二つ上のディ...
-
エクセルvbaでdocuworksprinter...
-
エクセルVBAで一つ上の階層...
-
Excel 相対パス
-
EXCEL(VBA)で指定フォルダ内の...
-
xcopyコマンドの進行状況を表示...
-
VBS パスに変数を入れたい
-
VBA★PDFをPDFアプリで印刷し...
-
ExcelVBAの使い方 ¥の使い方...
-
SendKeysステートメント
-
エクセルのマクロで特定フォル...
-
Dosバッチでファイルパスからフ...
-
SaveAsの保存先について
-
【VBA】ExcelマクロでCSVファイ...
-
【VBA】複数のtxtファイルから...
-
【VB.NET】App.configにファイ...
-
AccessからExcel最小化
-
C#でのProcess.Startと変数path
-
VBAで、VBのapp.pathと同じ機能...
-
DOSのバッチファイルでカレント...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルvbaでdocuworksprinter...
-
バッチファイル 二つ上のディ...
-
Excel 相対パス
-
エクセルVBAで一つ上の階層...
-
xcopyコマンドの進行状況を表示...
-
【VB.NET】App.configにファイ...
-
SaveAsの保存先について
-
ExcelVBAの使い方 ¥の使い方...
-
エクセルのマクロで特定フォル...
-
【VBA】ExcelマクロでCSVファイ...
-
EXCEL(VBA)で指定フォルダ内の...
-
VBA一覧取得 再投稿
-
指定したフォルダ内の最新ファ...
-
ExcelのVBAで上書き保存を確...
-
VBAでパワーシェルを実行したい...
-
コマンドプロンプトのコピー関...
-
VBA★PDFをPDFアプリで印刷し...
-
アプリケーションのインストー...
-
開いているファイルを削除し、...
-
A列に記載されているフォルダ...
おすすめ情報