• 締切済み

excelで大容量コピーの進捗確認方法

win10 office2010 win10のエクスプローラにてサーバからパソコンへフォルダの内容をコピーするとき、何%完了という進捗バーを表示してくれます。…(A) excelマクロでフォルダのコピー FSO.CopyFolder strSrc, strDst を実行すると、フォルダのコピーは実施されるのですが、カーソルがぐるぐるするだけなので、どれだけ終わっているかの確認ができません。 excelのマクロで、(A)の内容を実行(起動)することは可能でしょうか? (A)の表示でなくても、excelマクロで大容量のフォルダコピーする場合の状況確認をしたいおもいです。

みんなの回答

  • kkkkkm
  • ベストアンサー率65% (1633/2476)
回答No.2

プログレスバーですね。 VBA プログレスバーで検索したら色々出てくると思いますが とりあえず以下のサイトを参考にしてみてください。 Excel VBA 時間のかかるマクロの進捗状況を表示する https://kosapi.com/post-2305/

3620313
質問者

お礼

回答ありがとうございます。 対象のサイトは参照済でした。

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

何パーセントということは、つまり 「100%がどのくらいか?」が分かるからだせるわけです。 なので、コピー前に今回コピーされる量を 一度数えて、コピーするものをリスト化します。 それを、一つずつコピーするようにマクロを書いて、 そのリストの何パーセント目&リスト全体でのファイルサイズと 現在の完了率を計算して、パーセント表示ができるようになります。 それを単にWindowsは自動でやってるだけのことなので、 同じことをやれば、マクロでも他のツールなどでも、 同じことはできますよ。 ただ、1つのファイルの、コピー進行量は これだと出しにくくなるので、コピーまで手動になると、 ややだるいかもですが。 ファイル「数」に関しての、パーセンテージなら 上に書いたやり方などで、比較的楽かと思います。 要するに、 ファイルAが1GBあったとして、 ファイルBが9GBあったとして、 「ファイルAのみコピーが終わった状態」で ファイル数パーセンテージは、50%と算出され、(1/2個だから50%) サイズでのパーセンテージは、10%になる違いです。(1/10GBだから10%)

3620313
質問者

お礼

回答ありがとうございます。

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

関連するQ&A

  • フォルダをコピーして名前を変更するマクロ

    フォルダをコピーして、名前を変更するマクロを教えて下さい P:\工程管理\AF UG というアドレスの中に KBB45033#○○○作業データ(原紙) というフォルダの名前があります。 またこのKBB45033#○○○作業データ(原紙)のフォルダ内には KBB45033#○○○加工データ KBB45033#○○○進捗表 KBB45033#○○○調整データ KBB45033#○○○面検データ という名前の4つのフォルダと KBB45033#○○○ばね厚.xls という名前の1つのファイルがあります。 さらに KBB45033#○○○加工データ のファルダ内には KBB45033計算シート_受光部用_#000-2_Ver1.02.xls という名前のファイルがあります。 エクセルシートのB3セルに105と入力し、マクロを実行した際に P:\工程管理\AF UGのフォルダに 上記に書いたフォルダ名や、ファイル名の○○○の所が105となって フォルダがコピーできるマクロを教えて下さい。 現在はネットで調べてKBB45033#○○○作業データ(原紙)のフォルダ名だけは 出来るようになりました。 サブフォルダや、その中にあるファイル名の変え方がわかりません。 Sub test_fs034_02()    Dim fso         As Object   'ファイルシステムオブジェクト    Dim strSrc     As String   'コピー元    Dim strDst     As String   'コピー先    'メインオブジェクトの生成    Set fso = CreateObject("Scripting.FileSystemObject")    'コピー元フォルダパスの設定    strSrc = "P:\工程管理\AF UG\KBB45033#○○○作業データ(原紙)"    'コピー先フォルダパスの設定(フォルダ名変更)    strDst = "P:\工程管理\AF UG\KBB45033#" & Range("B3").Value & "作業データ"    'フォルダのコピー(上書き)    fso.CopyFolder strSrc, strDst    'オブジェクト変数のクリア    Set fso = Nothing

  • 特殊フォルダへのファイルコピー

    win10 ofice2016 ユーザレベル:Administrator パソコン利用者に、共通で使用するプログラムのコピー及び起動の設定をexcelマクロで対応しています。 Win10のRS5バージョンアップの影響か、従来動作していたマクロが動作しなくなりました。 c:\A\B.bat を スタートメニュー及び、共通ディスクトップにコピーするマクロ で下記の内容です。 Dim FSO As Object Set FSO = CreateObject("Scripting.FileSystemObject") FSO.CopyFile Source:="C:\A\B.bat", Destination:="C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\InspecStart.bat" FSO.CopyFile Source:="C:\A\B.bat", Destination:="C:\Users\Public\Desktop\InspecStart.bat" Set FSO = Nothing 上記実行で 実行時エラー'70': 書き込みできません とのエラーが出てしまいます。 ちなみに ' FSO.CopyFile Source:="C:\A\B.bat", Destination:="C:\work\B.bat" はコピーできます。 また、エクスプローダ上でのコピーはできます。 このフォルダへのコピーは管理者権限が必要です。 と表示され、続行でコピー可です。 ファイルのコピーを手動でやれば済むのですが、パソコン等はリースです。 リース更新時に沢山の設定するのは手間なので、特殊フォルダへのコピーを簡単に対応可能な手段があればとのおもいです。 excelマクロにはこだわりませんが、サーバからのファイルコピー等はマクロで実行するので、一緒に起動用のファイルをコピーで対応できたらと思った次第です。 サーバからファイルをc:\A配下へコピー。 Aフォルダ配下の起動ファイルを特殊フォルダ2ケ所に設定したいのです。 よろしくお願いします

  • Excelで進捗管理

    Excelで進捗管理を作ろうしています。 内容は 進捗率を%で表示し、その進捗率にあわせ グラフを表示させようと思っているのですがうまくできません。 例;進捗率50%  ||||| 上記のように縦線を進捗にあわせて表示させたいのです。 どなたかご教授ください。

  • エクセルマクロで

    エクセルマクロでファイルの有無を確認したくて 次のようなマクロを作りました。 Dim fso Const Folder = "D:\AAA" Const File = "*****.xlsx" Set fso = CreateObject("Scripting.FileSystemObject") If fso.FileExists(Folder & "\" & File) = False Then MsgBox "ファイルは存在しません" ファイル名の*****部分に Range("A1").Valueを使いたいのですがうまくいきません。 どのようになるのでしょうか。よろしくお願いします。

  • エクセルのVBA実行中の進捗バーについて

    こんにちは! エクセルのVBA実行中の進捗バーについて押し終えてください。 よくあるソフトのインスト時に表示されるインストの進捗バー?とほぼ同じ者をエクセルVBA実行時にもでるようにしたいのですが・・・ 方法を教えてください。

  • 大量データコピー中に他の処理をさせたい

    VBでフォルダーをコピーするプログラムをつくりましたが、フォルダのコピー中は他のプログラムでの表示の更新処理などができません。うまく他のプログラムにも制御がいくような良い方法はないでしょうか? コピーはFileSystemObject.CopyFolder で実行しています。 よろしくお願いします。

  • エクセルマクロでフォルダのコピーがしたい

    こんにちわ 色々調べてフォルダのコピーはできたのですが、色々いじっていて分からないことが出てきたので質問に来ました。 やりたいことはフォルダをコピーしたいのですが、それぞれ名前を自動で変えようと思い下記(1)を元に下記(2)を作ってみましたが、動きませんでした。 (1)いくつかのサイトを見て動いたマクロ sub test() Dim myFSO As New FileSystemObject myFSO.CopyFolder "C:\test", "C:\test2" End Sub (2)ちょっといじって動かないマクロ sub test() Dim myFSO As New FileSystemObject Dim name As String Dim name2 As String name = "C:\test" name2 = "C:\test2" myFSO.CopyFolder "name", "name2" End Sub 「パスが見つかりません」と出てきたので、読み込んでいないのだとは思うのですが、どうしたら動くかアドバイスをいただきたいです。 よろしくお願いします。

  • マクロを生かしてファイルをコピーする術エクセル

    お世話になっております。 マクロを組み込んだ、ファイルA.xls を作成しました。 誤って消してしまっては大変ですので、ファイルをコピーして コピーファイルA.xls というものを作成しました。 ただ、こちらのコピーファイルA.xls というもので、マクロを実行しようとすると エラーが出てしまします。 コピーファイルA.xls がファイルAと全く同じマクロを実行してもエラーが出ない ように、ファイルA.xls をコピー(保存)する術はございますでしょうか? ちなみにWINDOWSXPでエクセル2003を使用しております。 マクロ、エクセルに関する知識が乏しいため、質問の仕方に問題があるかも しれませんが、何卒、ご指導のほどよろしく御願い申し上げます。

  • エクセル マクロ コピー 貼り付けについて教えて!

    お世話になります。 エクセルのマクロを利用し下記の 方法はできますでしょうか。 条件:1つのフォルダ内に2つのエクセルデータがあります。 (1)「リスト」名のエクセルデータ (2)「送付状」 (1)「リスト」名のエクセルには下記の内容があります。   A       B  1 山田 03-0000-0000 2 佐藤 04-0000-0000 3 樋口 05-0000-0000 4 加藤 06-0000-0000 「リスト」名のエクセルには事前にマクロを組みます。 (ここを教えてください!) マクロを起動すると (2)「送付状」のエクセルデータごとコピーし ファイル名を「リスト」のB1とします。 例:ファイル名/03-0000-0000 03-0000-0000のファイルを開き A3に「リスト」のA1をコピーし貼り付けます。 C10には「リスト」B1の電話番号をコピーし貼り付けます。 これでファイル名03-0000-0000を保存します。 次に同じ動作を繰り返しますが 新しく作成したエクセルファイル(貼り付け先) のコピー元((1)リスト)はA1またはB1 から次行のA2またはB2と行を変えてコピーし 貼り付け場所は変わらずA3・C10とします。 (1)「リスト」A1欄が空欄になるまでこの動作を つづけ、終わったら「完了」表示がされ作業終了にしたいです。 完成形 (1)「リスト」に100件の名前があった場合 フォルダ内には (1)「リスト」、(2)送付状 その他100件の電話番号名のエクセルファイル が存在する。 お手数をおかけいたいます。 宜しくお願いいたします。

  • 検索の方法(エクセル マクロ)

    マクロは記録マクロしかできない超初心者です。 エクセルのsheet1のA1のセルに入っている内容(都度変更)と同一のセルをsheet2で検索し、カーソルをそこに移動させるマクロ記述をしたいのですが、どうなりますか。 記録マクロで、sheet1のA1をコピーし、sheet2に移動して検索窓で貼り付けて「次を検索」とやったのですが、記述をみるとA1の内容がそのまま記述されていて汎用性が無いようです。 よろしくお願いいたします。

専門家に質問してみよう