• ベストアンサー

excelのファイルコピー

excelvbaでファイルコピーをしようと思っています。 コピーは自分自身のファイルをコピーしようとしています。 ファイル1.xls(自分自身、コピー元) ファイル2.xls(コピーされたファイル) FileCopyを使用し以下のようにやろうとしましたが、書き込みエラーがでてうまくいきませんでした。 エラーメッセージ「実行時エラー '70': 書き込みできません。」 FileCopy "ファイル1.xls", "ファイル2.xls" どのようにすればうまくいくのでしょうか?

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

  • ベストアンサー
  • 820mth
  • ベストアンサー率100% (1/1)
回答No.1

例1: 自分自身、コピー元の ファイル1.xls をExcelで開く時、読み取り専用で開いた時には、 FileCopy 出来るようです。 読み取り専用で開くには、 Excelのファイルを開くメニューのオプション、 VBAの場合、例えば Workbooks.Open FileName:="場所" & "\" & _ "ファイル1.xls", ReadOnly:=True 他には、事前にファイル属性を読み取り専用に変更する方法もあります。 例2: ファイル1.xls をExcelで開く時、書き込み可能の状態で開きたい時は、 FileCopyではなく、コマンドプロンプトの copy コマンドを使用する方法があります。VBAの場合、例えば Shell ("cmd /C copy """ & _ ThisWorkbook.Path & "\" & ThisWorkbook.Name & """ """ & _ ThisWorkbook.Path & "\" & "ファイル2.xls"""), vbHide で出来るようです。 上記はExcel97Excel97,Excel2002で試しています。 開いているBookをコピーしようとしていますので、ExcelやOSの種類等によってはエラーになるかもしれません。 Windows98系の場合、cmd の箇所は command.com になります。

関連するQ&A

  • エクセルVBA 開いているブックのコピー

    filecopyを使って、ファイルをある場所から別の場所へコピーしたいと思っています。 しかし、コピー元のファイルが開かれていると、エラーが出ていることがわかりました。 FileCopy "C:\xxxxx\B.xls","C:\yyyyy\B.xls" といったコードで、B.xlsが開かれていると、エラーが起こります。 エラーが起こるのはこのコマンドの仕様のようです。 ただし、自分自身(このコードを実行しているファイル)はA.xlsとします。 対象のファイルが開かれていてもコピーするには、どうしたらよいでしょうか?

  • Excel VBAで読み取り専用ファイルをコピー

    お世話になります。 Excel VBAでサーバーにある共有のExcelファイルを自分のPCにコピーするコードを作りました。 FileCopy "\\Server\サンプル.xls", "\\○○○\Users\Desktop\サンプル.xls" 通常は問題ないのですが、コピーするファイルが誰かに開かれていると、たぶん、読みとり専用となるためにエラーとなります。 読み取り専用の時でもエラーにならずにコピー出来る方法を教えて頂けないでしょうか? よろしくお願いします。

  • 自身のファイルのコピーを作成したい

    アクセス2003vbaです。 自身のファイルのコピーを作成したいのですが Sub Sample() FileCopy CurrentProject.FullName, "C:\あああ.mdb" End Sub を実行すると 「実行時エラー'70' 書き込みできません」 になってしまいます。 もしかして同じフォルダ内じゃないと駄目なのですか?(「C:」) 何か間違っていますか? よろしくお願いします。

  • エクセルVBAで開いているファイルをコピーする方法

    はじめまして。 ころと申します。 (初書き込みです。そして、エクセルVBA初心者です。 質問の仕方等に問題がありましたら、ご指摘ください。) 以下のようにファイルをコピーする方法を知っているのですが、CopyTest1.xlsを開いているとコピーできません。ファイルを開いていてもコピーする方法を教えてください。 Sub copy() SourceFile = "C:\CopyTest1.xls" TargetFile = "C:\CopyTest2.xls" FileCopy SourceFile, TargetFile End Sub CopyTest1.xlsを開いて、CopyTest1.xlsのマクロを動かして、CopyTest1.xlsのファイルの複製を作りたいのです。 詳しい方々、よろしくお願いいたしますm(__)m

  • 【Excel VBA】ファイルをコピーする

    Excel2003を使用しています。 FDに一時保存されているデータを保存用データとして、MOへコピーしています。 FileCopy ステートメントというものを参考書で見たので、マクロの勉強がてら、試しにやってみたのですが、エラーが出てしまいました。  Sub 保存用作成()   FileCopy "A:\○○.xls","F:\○○.xls"  End Sub エラーメッセージは、『書き込めません』と出ていたのですが… よろしくお願いします。

  • エクセルのVBAでファイルの状態を調べるコマンド

    エクセルのVBAでファイルのコピーをしたいのですが、コピー元がOPEN状態だとコピーできません。 FileCopy "C:\A.XLS", "C:\B.XLS" そこで、上記のコマンドを実行する前に、コピー元がOPEN状態かどうかを判断させて、OPEN状態だと実行を5秒待つようなマクロを記述したいのですが、可能でしょうか?

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

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

  • VBA-MyExcelファイルをコピー

    目的は今開いているExcelファイルを適宜バックアップする。 方法として自身Excelに下記VBA「FileCopy」文を記述して実行⇒実行エラーにて失敗。 対処方法又は妙案をご教授ください。 Option Explicit Private Const MyFile = "C:\Tmp\Sample.xls" '自身ファイル Private Const DsFile = "C:\Tmp\Sample_01.xls" '複製ファイル Sub SAMPLE() ThisWorkbook.Save FileCopy MyFile, DsFile End Sub

  • javaのファイルコピーについて教えてください。

    javaプログラミング初心者の者です。 javaでファイルをコピーし、コピーしたファイルを出力したいのですがどのようにしたよいかわかりません。 以下のように実行したら、ファイルをコピーし、コピーしたファイルを出力するといったものです。 実行例: java実行ファイル名 コピー元ファイル名 コピー後のファイル名 (java FileCopy copysarelu.txt copysareta.txt) ※copysarelu.txtはすでに存在し、copysareta.txtは任意の名前で作成します。 どなたかアドバイスまたは、参考URLなどをご紹介いただけますでしょうか?お願いします。

  • エクセルのファイルのコピーで

    社内のネットワーク上で、自分のPCから他のPCにファイルをコピーして渡す時に、 「コピーできません。アクセスできません。ディスクがいっぱいでないか、書込み禁止になっていないか、またはファイルが使用中でないか確認して下さい。」 とのメッセージが出ます。 ファイルは使用中ではないですし、他のPCから私のPCのファイルのコピーはできますが、私のからだけできないようです。 何か原因があるのでしょうか? FDやUSBメモリを使えばコピーは出来るのですが、できるのなら(2ヶ月前くらいまではできていました)ネットワーク上で渡したいです。 どなたか教えて下さい。宜しくお願いします。

専門家に質問してみよう