[[20051129125942]] 『ファイルのコピーが出来ない』(SY) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『ファイルのコピーが出来ない』(SY)
 バックアップファイルを作ろうと試行しています。
 以下のコードを実行すると、
 「実行時エラー'70' 書き込みできません」とエラーになります。
 読み取り専用のフォルダになっているかもと考えて
 属性の変更も追記したのですが駄目でした。
 (ファイル属性が「16」になってしまいます)
 どこを調べて、どこを変更すればいいでしょう?
 (EXCELの問題では無いような気がしていますが...)
 よろしくお願いします。

 InpFileName = Application.GetOpenFilename("ファイル,*.xls")
 If InpFileName = False Then Exit Sub
 OutFolder = Mid$(InpFileName, 1, InStrRev(InpFileName, "\") - 1) & "\BKUP"
 Set FSO = CreateObject("Scripting.FileSystemObject")
 With FSO
     If Not .FolderExists(OutFolder) Then .CreateFolder OutFolder
     If Not .GetFolder(OutFolder).Attributes = 0 Then
     .GetFolder(OutFolder).Attributes = 0
     .CopyFile InpFileName, OutFolder
 End With
 Set FSO = Nothing


 どの行でエラーになるのでしょうか?
 変数の値に問題はないですか?
 CopyFile のパスを手入力して単体で動作確認してみては如何でしょうか?

  (INA)

 早速のレスありがとうございます。
 エラーになるのは .CopyFile InpFileName, OutFolder のところです。
 パスを手入力しても同様のエラーが出ました。
 コードというより、パソコンのフォルダ設定ですかね...

 (SY)

 他のファイル(パス)で試した場合は問題有りませんか?

 対象にしているフォルダはネットワークフォルダ?(アクセス権等は?) 
  (INA)

 一応、他のファイルでもテストしましたが、同様のエラーが出ます。
 本来実施したいのはサーバ上のファイルを他のPCなどにコピーすることですが、
 現在テストしているのは、自PCのDドライブ配下のファイルを指定しています。

 ちなみにMoveFileも試してみたのですが、移動できませんでした。
 「実行時エラー'58' 既に同名のファイルが存在しています」というエラー。
 D:\以下の異なるパスを手入力しても同じエラーです。どうしてですかねぇ。
 (SY)

 >「実行時エラー'58' 既に同名のファイルが存在しています」というエラー。 
 同名のファイルは存在していないのですか?

 Cドライブ→Cドライブ内でコピーした場合はどうでしょうか?

  FSO.CopyFile "C:\Book1.xls", "C:\temp\Sample.xls"

  (INA)

 アドバイスありがとうございます。
 解決しました。
 ファイル名の指定ではなく、
 コピー先フォルダを指定する際には最後に「\」を入れないと駄目なようです。
 上記コードが正常終了することがヒントになりました。
 >FSO.CopyFile "C:\Book1.xls", "C:\temp\Sample.xls"

 ありがとうございました。
 (SY)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.