• 締切済み

ファイルが存在するのにエラーになる実行時エラー53

vbaで Name FolderName & "\" & strBefore As FolderName & "\" & strAfter でファイル名を置換しているのですが、 「実行時エラー '53': ファイルが見つかりません」が発生します。 しかし、イミディエイトウィンドウで ?strBefore ?FolderName をやって、\でつなげて、フォルダのパスに入力すると、ちゃんとファイルは開きます。 ちなみにテキストファイルです。 手作業で開くのになぜVBAだとエラーになるのでしょうか?

みんなの回答

  • okgoripon
  • ベストアンサー率44% (1141/2550)
回答No.1

もしかして、RDXCCXSRVOGPPさんと同一人物ですか? だとしたら悪質ですよ。 http://willcom.okwave.jp/qa8044606.html VBAのコードが全く同じなんて、そうそう有ることじゃないと思うんですが。 それとも、このコードを使った有名な何かがあるんでしょうか??

関連するQ&A

  • 実行時エラー 5 ファイル名の書き出し

    これはどういう意味のエラーなのでしょう? Const FolderName As String = "C:\Users" Sub ファイル名を書き出す() Dim myFile As String myFile = Dir(FolderName & "\*.*", vbDirectory) Do While myFile <> "" Debug.Print myFile myFile = Dir Loop End Sub このようにしてフォルダの中のファイル名を書き出していますが ある特定のファイル名になると、myFile = Dirの部分で、 実行時エラー 5 プロシージャーの呼び出し、または引数が不正 が発生します。 ファイル名をただ読み込んでるだけなのに、どうしてエラーが発生するのでしょうか?

  • 実行時エラー '53'「ファイルが見つかりません。

    Sub test1() Dim strFName As String strFName = "C:\Users\test.html" Open strFName For Output As #1 Print #1, strHTML Close #1 ' 閉じる End Sub このような、フォルダ内にテキストファイルを作成するコードで 実行時エラー '53'「ファイルが見つかりません。」 と言うエラーになる場合があるのですが もしかして、ファイル名が長すぎるとこのようなエラーは発生しますか? その場合、何文字以内ならいいのでしょうか? win8、オフィス2010です。

  • エクセルVBA実行時のエラー:DLLファイルが見つ

    タイトル:エクセルVBA実行時のエラー:DLLファイルが見つかりません  質問させていただきます。どうぞよろしくお願いいたします。 環境:PC1~3の全てが、Excel2010、Win7になります。 初めてVBAから読み込むためのDLLファイルを作成いたしました。    PC1上で動作確認できている2つのファイル(Test4.dll(VC++2013にて作成)と それを呼び出すVBAのついたエクセルファイル)を、 PC2とPC3に移動し、VBAを実行しましたところ 何故かPC3でのみ下記エラーが発生いたします。 >実行時エラー'53' >ファイルが見つかりません。Test4.dll ・2つのファイルは同じフォルダ内で実行しております。 ・VBAのカレントパスは   ChDrive Left(ThisWorkbook.Path, 1)   ChDir ThisWorkbook.Path で変更しております。  試しにC:\Windows\System32と C:\Windows\SysWow64にも Test4.dllをコピペしてみましたが、同じエラーが出てまいります。 ・PC3のみ違うところを探してみましたが、思いつくのは下記くらいでございます。   1.VSが入っておりませんでした。(必要なのでしょうか??)   2.実行しているパスが違います。     PC1とPC2の実行パス:      D:\Users\Administrator\Documents\VBA_TEST     PC3の実行パス:      D:\Documents\VBA_TEST              もし何か原因として思いつかれる事がございましたらお教えいただけないでしょうか。 お詳しい方がいらっしゃいましたら何卒よろしくお願いいたします。

  • 実行時エラー2118

    アクセス2010です。 アクセスVBAのコードで Forms("フォーム1").Controls("サブフォーム").Requery を実行しようとすると 実行時エラー2118 ”Requery/再クエリ”アクションを実行する前に、 カレントフィールドを保存する必要があります。 となります。 VBA実行中に、手作業でデータを修正した事により発生したエラーなのですが そもそもVBA実行中にデータをいじる事は可能なのでしょうか? 出来る時とできない時があります。 更に、上記のエラーが発生しているときは、 VBAが中断の状態で、 そのデータを保存することができません。 データの保存が出来ないと、コードが進まないのですが こういう時はどうすればいいのでしょうか? VBAを停止して、手作業で修正したデータを保存するしかないのでしょうか?

  • 実行時エラー'13'型が一致しませんエラー発生

    office2010 サーバのあるフォルダ(1)にexcelファイルが登録されています。 バックアップを取るために、フォルダ末尾に-と日付情報を付加して新規フォルダ(2)を作成 (1)のフォルダ配下のファイルを全て(2)のフォルダ配下にコピー という動作をさせようとしています サーバはIPアドレスで指定(**.**.**.**で表現しています) マクロ Sub Sample_FSO_CopyFolder() '参照設定追加 Microsoft Scripting Runtime 'フォルダをコピー(TOOLシートのU1セルに =TEXT(NOW(),"yyyymmddhhmmss") ' Dim datename As String Worksheets("TOOL").Range("U1").Calculate  datename = Worksheets("TOOL").Range("U1") ' '新規フォルダ作成 Dim myFO As Object 'オブジェクト型の変数を定義’ Dim FolderName As String '作成したいフォルダパスを格納’ Set myFO = CreateObject("Scripting.FileSystemObject") 'オブジェクト型の変数にFileSystemObjectを設定’ FolderName = "\\**.**.**.**\data\SYSTEM\JIG" & "-" & datename & "" myFO.CreateFolder FolderName 'フォルダ作成’ Set myFO = Nothing 'オブジェクトの解放’ '複数のファイルをコピー Dim fso As FileSystemObject Set fso = New FileSystemObject Call fso.CopyFile("\\**.**.**.**\data\SYSTEM\JIG\*", "FolderName & " \ "", True) ' ' 全てのファイルをまとめてコピー ' 後始末 Set fso = Nothing End Sub 上記実行で型が一致しませんのポップアップエラーが発生します。 Call fso.CopyFile("\\**.**.**.**\data\SYSTEM\JIG\*", "FolderName & " \ "", True) の部分をFolderNameの変数ではなく、下記の様に直接フォルダ名で指定すると、コピー動作します。 'Call fso.CopyFile("\\**.**.**.**\data\SYSTEM\JIG\*", "\\**.**.**.**\data\SYSTEM\JIG-20190228174216\", True) ' 全てのファイルをまとめてコピー ※ デバッグモードのローカルウィンドウで値を見たとき、 FolderNameは\\**.**.**.**\data\SYSTEM\JIG-20190228174216 となっており正しいと思うのですが、なぜ変数指定でエラーになるのでしょう?

  • どういう理由が考えられますか?

    Name FolderName & "\" & strBefore As FolderName & "\" & strAfter でファイル名を置換しようとすると、 ファイルが見つかりません。 (Error 53) になります。 でも、strBefore は確実に存在します。 ?strBefore の値をファイル名にしてみましたが、エラーになります。 FolderName の部分も間違いありません。 ファイルが存在するのにこのエラーが発生する理由がわかりません。 ヘルプを見ると 「Kill、Name、または Open などのステートメントで、存在しないファイルを参照しています。 」 とのことですが、存在してるんです! 仮にファイル名が間違っていたとしても、 ?strBefore の値をファイル名にした時点で存在するのにエラーになるのです。 strBefore はテキストファイルです。 何が原因だと思いますか?

  • 実行時エラー 76 パスが見つかりません。

    VBAのFileSystemObjectでフォルダをコピーしているのですが フォルダ1は問題なくコピーできるのですが 毎回フォルダ2だけは、 実行時エラー 76 パスが見つかりません。 と言うエラーになってしまいます。 Sub Sample() Dim myFSO As Object Dim MyPath As String MyPath = "C:\" Set myFSO = CreateObject("Scripting.FileSystemObject") myFSO.CopyFolder MyPath & "フォルダ2", MyPath & "新フォルダ2" Set myFSO = Nothing End Sub このようなコードなのですが、フォルダ1もフォルダ2も同じコードを使っています。 フォルダ2に関しては容量が10GBくらいありますが、フォルダが重すぎるのが原因でしょうか?

  • HSPの実行ファイルが実行できない。

    HSPでちょっとしたゲームを作って自己満足している者です。 初めてHSPに挑戦してやっとの思いで完成したゲームをいざ実行ファイルを作ってみたら その作業フォルダの中だったら実行できるくせにデスクトップとか作業フォルダ以外に コピーしたら「内部エラーが発生しました(13)」とか出て実効できません。 作業フォルダ以外で実行できないということはフロッピーにいれて人にあげても実効できませんよね? ちなみにHSP ver2.55です。 どうすれば作業フォルダ以外でも実行できるようになるでしょうか?

  • 実行時エラー 2001

    http://officetanaka.net/excel/vba/vbe/05.htm を参考に VBAコードを取得したいのですが Declare Function GetTickCount Lib "kernel32" () As Long Public sampledata As String Sub Sample9() Dim Code As String Code = ThisWorkbook.VBProject.VBComponents("Module1").CodeModule.Lines(7, 5) MsgBox Code End Sub を実行すると 実行時エラー 2001 'VBProject'メソッドは失敗しました:'_Workbook'オブジェクト が、 Code = ThisWorkbook.~ の行で発生します。 何が間違ってますか?

  • エクセルVBA 実行時エラー‘13’型が一致しまん

    VBAは初級レベルです。説明が分かりづらかったらすみません。 Windows7/Excel2002を使っています。 エクセルVBAで、変数MMMと変数DDに処理する日付を入れたいのですが、 実行時エラーになってしまい、うまく変数が設定できません。 例えば、31MAR.xls というエクセルファイルがあります。 (ファイルは、デイリーベースで存在します。) このファイル名の月と日にちを変数に入れます。 DD = 日にち (例えば、31日なら“31”) MMM = アルファベット3文字 (3月なら“MAR”) そして、入力する為のワークシートを Set NYURYOKU = Workbooks(DD & MMM & ".xls").Worksheets("入力") としたのですが、 『実行時エラー‘9’インデックスが有効範囲にありません。』 となってしまいます。 このとき、 DDの値は、0: MMMの値は、00: になっています。 --------------------------- Dim HIDUKE As Date  HIDUKE = Left(ThisWorkbook.Name, 5) MMM = Mid(HIDUKE, 3, 3) DD = Left(HIDUKE, 2) Set NYURYOKU = Workbooks(DD & MMM & ".xls").Worksheets("入力") --------------------------- 変数宣言で、Dim HIDUKE As Date にすると、 HIDUKE = Left(ThisWorkbook.Name, 5) の所で『実行時エラー‘13’型が一致しません。』 となってしまい、 試しに Dim HIDUKE As String にすると、 MMM = Mid(HIDUKE, 3, 3) の所で『実行時エラー‘13’型が一致しません。』 となってしまいます。 変数宣言をしないと、 Set NYURYOKU = Workbooks(DD & MMM & ".xls").Worksheets("入力")の所で 『実行時エラー‘9’インデックスが有効範囲にありません。』 となってしまいます。 どなたか回避策を教えてください。 どうぞよろしくお願いします。

専門家に質問してみよう