
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
この回答へのお礼
お礼日時:2008/02/11 20:56
ご回答ありがとうございます!
こちらの方法でも私のやりたいことができ、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
この回答へのお礼
お礼日時:2008/02/09 11:48
ご回答、ありがとうございます!
さっそく試してみたところ、yyyyフォルダ内に新たにA1のフォルダコピーが作成されました。
ファイルだけをコピーすることはできないでしょうか・・・?
よろしくお願いします!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルvbaでdocuworksprinter...
-
SaveAsの保存先について
-
VBAを使ってセル内に記述してあ...
-
Excel 相対パス
-
エクセルVBAで一つ上の階層...
-
VBAとResgen.exeを使用して、re...
-
実行ファイルのパスを取得したい
-
C#でのProcess.Startと変数path
-
VBAでパス名(2バイト文字)の...
-
【Excel VBA】Power Qurry のソ...
-
A列に記載されているフォルダ...
-
エクセルのマクロで特定フォル...
-
xcopyコマンドの進行状況を表示...
-
パス名の変換
-
ブラウザからファイルパスを取...
-
エクセルのプロパティーでセキ...
-
特定のエクセルファイルが止ま...
-
ファイルをコピーできない
-
Wordで差込印刷した後に別々の...
-
カンマ区切りのCSVファイルから...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルvbaでdocuworksprinter...
-
xcopyコマンドの進行状況を表示...
-
エクセルVBAで一つ上の階層...
-
Excel 相対パス
-
【VB.NET】App.configにファイ...
-
VBA★PDFをPDFアプリで印刷し...
-
エクセルのマクロで特定フォル...
-
コマンドプロンプトのコピー関...
-
VBAでパワーシェルを実行したい...
-
ExcelのVBAで上書き保存を確...
-
実行ファイルのパスを取得したい
-
開いているファイルを削除し、...
-
初心者powershellのPS1ファイル...
-
ExcelVBAの使い方 ¥の使い方...
-
EXCEL(VBA)で指定フォルダ内の...
-
パスワード保護されたExcelファ...
-
【VBA】ExcelマクロでCSVファイ...
-
【VBA】複数のtxtファイルから...
-
C#でのProcess.Startと変数path
-
エクセルのファイルオープン時...
おすすめ情報