• ベストアンサー

VBAでドライブデータ一括コピー

エクセルのマクロで次のようなことは可能でしょうか? 1 CD-Rが入っているドライブ(私の場合はDドライブ)のデータを、  デスクトップ上に新たにフォルダを作成してそこに全てコピーする。  (CD-Rにじかにデータが入っていて、フォルダがないので  foldercopyが使えないみたいなんです。データは全てjpeg画像です。) 2 列に数字を入力していき、列合計がある値(例えば500)になったら  画面上にメッセージを出す。  ネットで検索しまくっても、ドライブ:\フォルダ\データなどの記述  のものしかなくて・・ヘルプも参照してみたのですが見つかりませんでした。 どうかお力をお貸しください。

質問者が選んだベストアンサー

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.6

>デスクトップ上のエクセルアイコンをダブルクリック(これくらいならわかるので)、 であるならば、エクセル起動して、ボタン押してもらうより 仮に、C:\ 父のフォルダ とかの名前でフォルダ作成しておいて メモ帳で copy d:\*.jpg  C:\父のフォルダ pause (うまく貼り付けできませんでした、copy ドライブ:\パス\ファイル名 半角スペース ドライブ:\パス です) フォルダー名にスペースを含む場合には" "でくくり指定してもかまいません。 ファイル名に、CDの写真保存.bat とか名前付けてデスクトップに保存しておいて そののファイルをクリックしてもらう方が良いのでは。 2の質問もVBAではなくて、入力規則で処理できると思います。 入力する範囲が、A1~A10の場合、範囲を指定して、データ、入力規則 =SUM(A1:A10)<500 としておけば、その範囲の合計が500超える数値が入れば、メッセージが出るはずです。

kenta1005
質問者

お礼

たびたび親切な回答をしていただいて本当にありがとうございます。 なるほどなるほど、 >CDの写真保存.bat とか名前付けてデスクトップに保存しておいて >そののファイルをクリック  この方法試してみます。 2の方も試行錯誤の結果、回答していただいた方法を見つけられました。 本を買って少し勉強してみたのですが、実際試すと「実行エラー」 出まくりで・・情けない話です。 本当にありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (5)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.5

1はVBAに関連付けた質問にしているのは、的外れの質問と思う。 確かに、記録媒体(ハードディスクやCDR,FDなど)によって原始レベルの読み方書き方は、随分違います(入出力装置のドライバーが扱うレベル)。 しかしユーザーがそのレベルで機器をを扱うとなると、大変な作業になるので、媒体や、ファイル形式が違っても、(言語で言えば)GETやREADやPUTといったスクリプト・指令などで、読み書きできるように、関係者は鋭意努力してきました。質問者はそういう場面・時代に居合わせず、勉強していないため、CDRが通常の言語レベルで、取り扱いに差があると思っているらしい。差はウラで吸収して、利用者には差を意識させないようにコンピュターソフトは進んできた。 ファイル全体を(中身は考慮しないで)コピーするなどというのは、言語の領域でなく、OSのコマンドやユティティのレベルで行います。 もっと進歩してドラッグアンドドロップなど操作的な行為に仮託されるもので行う時代です。 1はVBAというよりも、上記(コマンドなど)かまたはVBの系統のVBSCRIPTで扱ったほうが良いと思われる。 2 VBAである程度やれば、「がある値になったら」何々する (イベントプロ)」の仕組みを使えばできることがわかる。

全文を見る
すると、全ての回答が全文表示されます。
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

こんにちは。 話は分かるし、VBAでは作れるとは思うのですが、ちょっと、そういう必要性がないような気がしているのですが。それを、私の感覚では、エクスプローラでできない人のためのプログラムという想定になってしまいまし、対話型マクロですから、マクロで作るには、あまりにも面倒すぎます。 そういうのは、ファイラーをお使いになればよい思います。 http://www.vector.co.jp/vpack/filearea/win/util/file/filer/ もちろん、マクロの勉強というなら、 最初に、ドライブチェックをして、 新規フォルダを、InputBox で聞いて、 後は、送り先側をカレントドライブにしてから、 Shell から、 Copy *.jpg C:\Documents and Settings\[ユーザー名]\デスクトップ\新規フォルダ\ でよいはずです。

kenta1005
質問者

お礼

こんにちは、回答ありがとうございます。 なるほど、VBAで可能なのですね。 もう少しトライし直してみます。 おっしゃるとおりパソコン苦手な父のためのものです。

全文を見る
すると、全ての回答が全文表示されます。
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.3

先ほど、回答した者です。 ひょっとして、 CD-Rを開く すべてを選択 デスクトップの新しいフォルダにドラック この作業のことですか。

kenta1005
質問者

お礼

すばやいご回答、大変ありがとうございます。 >CD-Rを開く >すべてを選択 >デスクトップの新しいフォルダにドラック  まさにそれです。でもなぜそれをエクセルでやりたいかと申しますと、 パソコンをあまり使えない人(父です)のために、エクセルで、元データリンク→集計→結果データの出力。 というマクロを作ったのですが(作ったと言ってもネットでマクロサンプル探しまくって、 それをちょこっと修正しただけですが・・)、最初に元データをデスクトップの フォルダにセットしておく、という操作が必要でして。PCが操作がまだよくわからない人に 「スタート」から「マイコンピュータ」CDドライブをダブルクリックしてなんて教える ことは出来るのですが、おかしなところにコピーされたり、間違って 何か消されたりすると 困るので、デスクトップ上のエクセルアイコンをダブルクリック(これくらいならわかるので)、 で上記の一連の動きをマクロ実行で出来たら・・と思った次第です。

全文を見る
すると、全ての回答が全文表示されます。
  • marbin
  • ベストアンサー率27% (636/2290)
回答No.2

1.に関しては、 FileCopy でいけると思います。

kenta1005
質問者

お礼

ご回答ありがとうございます。 filecopy・・ 私もそれだと思い、ヘルプやQ&Aサイトをみたりして、 何度か試したのですが、どうもうまくいかなくて・・。 お恥ずかしい話です。

全文を見る
すると、全ての回答が全文表示されます。
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

一度に、2つの質問は、しないほうが良いと思います。 取り合えず、1の質問に対してですが、 別にフォルダでない場合は、 D:\ でダメですか、別にエクセルのVBAでなくても良いと思います。 例えば、 MS-DOSのコマンドでXCOPYで検索してみてください。 xcopy d:\ "コピィ先ドライブ\フォルダ名" で出来そうですが、コマンドが決定すれば、メモ帳に記入して 拡張子を.batで保存すれば、次からはそのファイルをクリックすることで、コピィされるでしょう。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • CD-Rドライブにコピーできない

    WindowsXPを使っています。 データをCD-Rに焼こうとして、フォルダに入ったファイルをCD-Rドライブに送ると、「CDに書き込む準備が出来たファイル」というものがCDドライブ上に出来ますが、その時、入れ物のフォルダだけが送られ、中身のファイルは送られません。 やむを得ず、ファイルを個別に送り、CDドライブ上で、ファイルを フォルダに入れ直してから、焼いています。 以前は正しく、送られていました。何か設定が変わったのでしょうか。 どなたか原因及び改善方法を教えていただくようお願いします。 なお、CDドライブ以外では、フォルダをコピーすると、当然、その中に含まれるフォルダもファイルもそのままコピーされます。

  • CDドライブが反応しない

    CDドライブにデーターの入ったCD-R、又はDVD-Rを入れて、 ドライブを右クリックで「開く」を選択しても開きません。 データーは何も入っていない事になっているようです。 ただ、映画のデーターが入ったDVDを入れれば再生できますし、 音楽CDを入れれば、itunesで音楽を取り出したり、再生する事はできました。 ただ、データーの参照ができなくなりました。 なぜなのでしょうか。 トレイの開け閉めはボタンでも右クリックの「取り出し」でも反応します。 DVD-RWにaviデーターやjpegなどのデーターを入れてるので 取り出したいのですが、何が原因となっているのでしょうか。 よろしくおねがいします。

  • 画像データのCD-Rへのコピーがうまくいきません。

    パソコン内の画像データ(JPEGのみ 合計630MB程度)のCD-R(700MB)へのコピーが、うまくいきません。「CD書き込みへのウィザード」を用い、「CDにコピーしています」の表示が出て、最終段階では「CDを使えるようにしています」の表示は出るのですが、最後に「書き込み中にエラーが発生しました」の表示が出ます。 CDの種類を変えても同様です。ドライブの「プロパティ」の「書き込み」タブで「このドライブでCD書き込みを有効にする」にチェックは入っています。 CD、DVDの読み込みにはなんら問題がありません。 原因は何でしょうか?どなたか分かる方助けてください!

  • BD-R 上の消失データ復元について

    BD-R上のデータが見た目上、消えてしまいました。 復元する方法がありましたら、教えて下さい。 行った手順は下記の通りです。 OSはWindows7 32bit版です。 BD-Rは、25GB、6倍速のものに書き込もうとしています。 Cドライブ上のAと言うフォルダに、100個のファイルがあったとします。 100個のファイルは全てJPEGで、合計容量は20GBとします。 エクスプローラ上でドラッグ&ドロップし、BD-R にコピーしました。 BD-RにAというフォルダができ、中身を確認したところファイルは100個あり 問題なく閲覧できました。 CドライブのAフォルダに更に20個のJPEGファイルを作成しました。 この20個の合計容量は、1GBです。 この20個のJPEGファイルもBD-Rにコピーしたいため、Aフォルダをドラッグ& ドロップしました。 すると『容量オーバーのためコピーできません』旨、メッセージが表示されました。 多分、21GBをコピーしたいと認識したのであろうと考え、CドライブにBという フォルダを作成し、後から作成した20個のJPEGファイル1GBをコピーしました。 このBフォルダをドラッグ&ドロップし、BD-R にコピーしようとしたところ 問題なくコピーできました。 念のため、BD-Rの中身を確認したところ、Aフォルダが空になっていました。 Bフォルダには20ファイルあります。 BD-R全体の容量は約21GBありました。 以上のような状態で、Aフォルダの中身を見えるようにするには、どうしたら いいのでしょうか。 また、データを追加する場合、上記の手順は間違いなのでしょうか。

  • サンダーバード 一括

    エクセルに入っているデータをサンダーバードの下書きフォルダに一括で入れたいのですが、 大量にあって手動ではきついので、マクロかアドインでやる方法を誰か教えてくださらないでしょうか。 たとえば、A列にアドレスB列にタイトルC列に本文が入っています。 これをすべて一つ一つのメッセージとして下書きフォルダに入れたいのです。 よろしくお願いします。

  • CDドライブがファイナライズができなくなった

     みなさんこんにちは。  データをCD-Rに焼こうとしているのですが、すべてのデータを焼き終えてからのファイナライズが上手くいかず、結局使えないCD-Rとなってしまいます。2,3日前からデータを焼く動作の調子が悪かったのですが本日、何度やっても先に記述したような症状になってしまいました。原因、およびその対処について思い当たることがある方はぜひお教え下さい。ちなみにWindows XPでRealPlayerとCDドライブで直接書き込む方法と2方法試しましたがどちらでも無理でした。  非常に困ってます。よろしくお願いします。

  • 他ブックからのデータ検索・コピー(VBA)

    【Book2】(Sheet2)L1に「12-1」を入力 ↓ 【Book1】(Sheet1)で「12-1」をM列、T列、AA列から検索→M4に「12-1」があった ↓ 【Book1】(Sheet1)N4:S4のデータを【Book2】(Sheet2)M1:R1にコピー 各ブックは同一ファイルに保存 検索する文字列の重複はなし 現在は関数≪VLOOKUP≫を使い上記を行っています。 マクロを使った方がスムーズに処理できるのでしょうか。 マクロを使う場合はどのような方法が良いのでしょうか。 データ数は1000行程度、各行の25個のセルに≪VLOOKUP≫関数が入っています。

  • Excelで集計したとき、集計行にその上の行の文字データを表示させたい

     Excelで集計したとき、合計行には数字などの列データは合計されますが、文字列データの列は数字が出てくるので、折りたたんだときに、たとえば(顧客名の列でAさんだとたら)合計行にも、Aさんという文字を表示させたいです。  手順としては集計させたあとに、マクロで合計行にもその上の文字列を単純にコピーできたらいいです。  手作業でもいいのですが、顧客名が多くて大変です。よろしくお願いします。

  • excelのデータをコピーする

    excelVBAで、他ブック(AAA)にあるシート(AA)のA列に入っているデータをBBBというブックのBBというシートのA列にそのまま移行したいのです。 そこでBBに次のように記述したのですが動作しません。 Range("[AAA]AA!A1:A700").copy Destination:=Range("A1:A700") 本当はAに入力されているものを全て、としたいのですが良く分からなかったためとりあえず700までとしてみました。 また、このモジュールが出来たら、そこから"###"という文字列だけを抜いてコピーをする、というように条件をつけたいと思っているのですが、可能でしょうか? 方法は、VBAでなくマクロでも何でも、出来れば構いません。 教えてください。よろしくお願いいたします。

  • 写真データのコピーができません!

    パソコン内の写真のデータをCD-Rにコピーしたいのですが、何度してもコピーできません・・・ 今までは普通にできていたのにある写真グループだけなぜかできません。 今までの写真のデータと何も特別変わらないと思うのですが 何度やっても失敗するのですが原因は何が考えられますか?? 小分けにも試してみたのですが無理だったので容量オーバーではないと思います。 形式はすべてJPEG デジタルカメラで撮影したものと携帯で撮影したものがグループ内にあります(今までも同じ) 詳しい方、教えていただけると助かります。 よろしくお願いいたします!!

専門家に質問してみよう