質問 |
||
| 質問者:takao1004 | エクセルファイルを別名でたくさん作る方法 | |
|---|---|---|
困り度:
|
エクセルファイルでの質問です。 現在「A-1」と言う名前のエクセルファイルが有ります。 これをコピーして「A-2」と言うファイルを作ります。 最終的に列が1から10まであり、行がA〜Pまであります。 ファイル数は全部で約160個になります。 1個1個名前を変えてコピーしていたのでは時間が掛かるので、BATファイルを作ってコピーできればと思っています。 しかし、やり方が分からなくて困っています。 教えて下さい。 よろしくお願い申し上げます。 |
|
質問投稿日時:08/03/31 12:17 質問番号:3909771 |
||
回答良回答20pt |
|
| 回答者:suz83238 | エクセルVBAなら簡単です。 ファイルのある場所を「C:\Documents and Settings\User\デスクトップ」とすると下記のとおり、適当にファイルのある場所を変更して下さい。最後に「\」を忘れずに。実行すれば、ファイルは2秒位でできます。 ' Sub xxx() fil = "C:\Documents and Settings\User\デスクトップ\" For j = 1 To 10 For i = 1 To 16 If i = 1 And j = 1 Then GoTo s1 FileCopy fil & "A-1.xls", fil & Chr(64 + i) & "-" & j & ".xls" s1: Next i Next j End Sub |
|---|---|
| 種類:回答 どんな人:一般人 自信:自信あり |
|
| |
回答日時:08/03/31 13:24 回答番号:No.3 |
|
| この回答への補足 | 簡単にできました。 ありがとうございました。 ちなみに、これを応用して、セルからの操作はできますか? たとえばA1セルにファイルの場所 A2にファイル名の最初の記号。ここでは「A」 A3にファイル名の後の記号。ここでは「1」 として、ボタンを配置後クリックで作れるようにできませんか? よろしくお願い申し上げます。 |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |
回答 |
|
| 回答者:noname#65902 | No.1 です。 先ほどの for 文がついた計11行を、 エディタなどに並べて CR まで含めてコピーし 右クリック→[貼り付け]で コマンドラインに11行のコマンドラインを貼り付けて 全部実行してくれました。 全部並べて書いておけばよかったです。 |
|---|---|
| 種類:回答 どんな人:経験者 自信:自信あり |
|
| |
回答日時:08/03/31 12:45 回答番号:No.2 |
|
| この回答への補足 | ご返信ありがとうございます。 大変申し訳ありませんが、もう少し砕いて頂けませんでしょうか? こちら、拡張子をBatに変える事くらいしか知識がありません。 申し訳ありませんがよろしくお願い申し上げます。 |
| この回答へのお礼 | 出来ました。ありがとうございました。 |
回答 |
|
| 回答者:noname#65902 | コマンドラインだけでもできます。 まず、「ファイル名を指定して実行」で cmd と入力し、コマンドプロンプトのウィンドウを開いてください。 次に、カレントフォルダ(今注目するフォルダ)を、 今A-1.xls ファイルがある場所に変更してください。 そして for %a in (2 3 4 5 6 7 8 9 10) do copy A-1.xls A-%a.* でA-2〜A-10.xls を作ります。これくらいは手操作でもいいかも。 次に for %a in (B C D E F G H I J K L M N O P)do copy A-1.XLS %a*.* for %a in (B C D E F G H I J K L M N O P)do copy A-2.XLS %a*.* for %a in (B C D E F G H I J K L M N O P)do copy A-3.XLS %a*.* for %a in (B C D E F G H I J K L M N O P)do copy A-4.XLS %a*.* for %a in (B C D E F G H I J K L M N O P)do copy A-5.XLS %a*.* for %a in (B C D E F G H I J K L M N O P)do copy A-6.XLS %a*.* for %a in (B C D E F G H I J K L M N O P)do copy A-7.XLS %a*.* for %a in (B C D E F G H I J K L M N O P)do copy A-8.XLS %a*.* for %a in (B C D E F G H I J K L M N O P)do copy A-9.XLS %a*.* for %a in (B C D E F G H I J K L M N O P)do copy A-10.XLS %a*.* でOKです。が、 これらをコマンドラインにコピペしてもOKです。 殆ど同じコマンドを、コマンドプロンプト上で少しの操作で手を加える方法もあるのですが ここでは省略します。 |
|---|---|
| 種類:回答 どんな人:経験者 自信:自信あり |
|
| |
回答日時:08/03/31 12:41 回答番号:No.1 |
|
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |