• ベストアンサー

Excel VBAで、フォルダの中に特定の名前のワークブックが存在するかを調べたい。

VBA初心者です。 マクロを利用して新しいワークブックを作成し、名前を付けて保存したいのですが、フォルダ内に既に同じ名前のワークブックが存在する場合、警告に対して置換えしないを選択すると、エラーになってしまいます。 そこで、某フォルダ(例えばマイフォルダ)の中に特定の名前のワークブック(例えばマイブック.xls)が存在するかどうかを調べるには、どの様に記述すれば良いのでしょうか?(質問が解り難くて申し訳ありません) あるいは、新しく作成したワークブックの名前を、保存しないで変更することは可能なのでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

ファイルの有無のチェックは、 Dir(パス名\ファイル名) http://www.officetanaka.net/excel/vba/file/file06.htm

mumu001
質問者

お礼

素早いお返事ありがとうございました。 アドバイスを参考に記述して、目的とする結果を得ることができました。ありがとうございました。

関連するQ&A

  • ワークブックに名前をつけて保存するマクロ

    教えてください!! ワークブックで名前をつけて保存するときのマクロなんですが、 自動記録すると下記のように記述されています。 ActiveWorkbook.SaveAs Filename:="C:\○○○\○○○\□□□□□.xls" この□□□□□の部分はインプットボックスを表示させたいのですが、 こういうマクロを組むことはできますか?

  • エクセル VBA ファイルをフォルダへ移動させる

    エクセル VBA 手探り状態です。 001大企業.xls、001中小企業.xls、003大企業.xls、003中小企業.xls、008大企業.xls、008中小企業.xls・・・・というファイルが300ほど企業種類という名前のフォルダにあります。 VBAで企業種類という名前のフォルダの中に、001、003、008・・・というフォルダは作成しました。 (ネットで”フォルダ作成”を検索して、、、自力ではVBAは書けません) それを001という名前のフォルダへは、001大企業.xls、001中小企業.xlsのファイル、003という名前のフォルダへは003大企業.xls、003中小企業.xlsのファイルを、008フォルダへは008大企業.xls、008中小業.xlsファイルを・・・というように、マクロで移動させたいのです。 これらのファイル、フォルダは全て、企業種類というフォルダの中にあります。 VBAを教えていただけましたら嬉しいです。

  • Excel VBAで他のワークブックからのコピぺの仕方について

    Excel VBAで開いている全てのワークブックから決められたセルの中身とそのシート名をそれぞれ決められた一つのワークブックにコピぺする マクロを作りたいのですが、どうやって作って良いのかが分かりません。 例えば、 Sub Mac() For i = 1 To 100 Workbooks("Book1.xls").Worksheets("sheet1").Range(Cells(2108, 2), Cells(3108, 2)).Cut Destination:=Workbooks("Book1.xls").Worksheets("sheet1").Cells(13, 2) End Sub みたいにすれば良いと思うのですが、開いている全てのファイルからのコピぺってどうやって記述するのでしょうか? 何卒よろしくお願い致します。

  • Excel2003 マクロ(VBA) どこにあるか分からないフォルダAのワークブックAを開く

    いつもお世話になっております。 新しいマクロの記録でフォルダAのワークブックAを開きました。 ChDir "C:\フォルダA" Workbooks.Open Filename:= _ "C:\フォルダA\ワークシートA.xls" しかし、今はフォルダAがCドライブにありますが、 明日はデスクトップ上にあったり、フォルダBの中に入っていたりするかもしれません。 このような時、上記のようなVBAでは開けません。 どこにあるか分からないフォルダAのワークブックAを開くには どこをどのように直せばよろしいのでしょうか? 以上、よろしくお願いいたします。

  • エクセルマクロをどのワークブックでも使いたい。

    マクロを作成し、既に保存したのですが、作成した時開いていたワークブックを開かないと使用できません。どのワークブックからでも使えるようにするにはどうしたらよいのでしょうか?

  • VBA フォルダ内にファイルが存在するか確認したい

    OS: WindowsXP Office: 2003 ExcelVBAについて教えてください。 VBAで特定のフォルダー内でファイルが存在するかの確認をしたいのです。 例えば、以下のようなフォルダーに営業日がファイル名に付いた複数のファイルがあります。  C:\Documents and Settings\aaa\デスクトップ\作業\報告書20120201.xls  C:\Documents and Settings\aaa\デスクトップ\作業\報告書20120202.xls  C:\Documents and Settings\aaa\デスクトップ\作業\報告書20120203.xls  C:\Documents and Settings\aaa\デスクトップ\作業\報告書20120206.xls  C:\Documents and Settings\aaa\デスクトップ\作業\報告書20120207.xls  C:\Documents and Settings\aaa\デスクトップ\作業\報告書20120208.xls 処理は20120201(2012年2月1日)から順番に行うのですが、その際、 報告書20120203.xlsはファイルが存在しているので変数1を返す。 報告書20120204.xlsは休日のためファイルが存在しないので変数0を返す。 次の処理で変数1の場合は処理をし、変数0の場合は処理を飛ばすと言った内容のマクロを考えています。 要はフォルダー内にファイルが存在するかしないかの部分のマクロ記述を知りたいのです。 どなたか、よろしくお願いします。

  • VBAによるワークブックの統合と目次の作成

    メインのワークブックと同一フォルダ内に設けられたサブフォルダに格納されている複数のワークブック内のシート名をメインの特定シートに一覧表として出力し、且つそれらのシートをメインのワークブックのシート末尾にコピーするExcelマクロ(VBA)を教えて下さい。 【条件】 ・OSはWindows XP、Excel2010 ・対象フォルダ : \\share\mws\mws-01 ←ネットワークフォルダです ・メインワークブック名 : mws-01  メインワークブックはマクロ実行前は3シートで構成されています。 ・サブフォルダ名 : single  サブフォルダ内に格納されているワークブックは全て1シートです。 【イメージ】 上記の特定シートに出力する一覧表は目次。 メインワークブックにコピーしたシートは目次に対応したページというイメージです。 一覧表は3シート目のB6セルからB7、B8...というように表示をしたいです。 複数のワークブックから特定の値を抽出するなどの例は過去の回答で拝見させていただき、なんとかそれを応用してみようと試みたのですが、自分のスキルでは無理でした。 誠に勝手ではありますが、分かる方がおりましたらご助力の程、お願い致します。

  • VBAで、excelファイルのマクロを実行したら、特定のフォルダのファ

    VBAで、excelファイルのマクロを実行したら、特定のフォルダのファイルの特定セルを確認し、その結果を反映する、というマクロを組みたいと思っています。 具体的には下記のマクロを組みたいと思っています。 ------------------------------------------------------ (1)マクロを組むファイル【worksheet】にてマクロを実行する (2)特定のフォルダのファイルのA1、A2、A3、A4の全てに”OK”という文字が入っているかを確認 ・C:\excel\1番\kakunin_1.xls にあるkakunin.xlsの、A1セルに”OK”という文字が入っていたら次はA2、A3、A4の順序で 確認する。 ・このとき、A1にOKと入っていて、A2には入っていなかった場合は、A2という文字を、【worksheet】のB1セルに結果を表示する ようにする。 ・特定のフォルダの構成は下記 C:\excel\1番\kakunin_1.xls |--\2番\kakunin_2.xls |--\3番\kakunin_3.xls ・上記の処理を、1番フォルダの【kakunin_1.xls】で実行し、【worksheet】のB1セルに結果を表示。 2番フォルダの【kakunin_2.xls】で実行し、【worksheet】のB2セルに結果を表示。 3番フォルダの【kakunin_3.xls】で実行し、【worksheet】のB3セルに結果を表示。 ------------------------------------------------------ VBAどころかプログラミング自体が初めてなので、例えば引数が何かも一々考えて1文ずつ読み込まなければいけない状態です。。 どなたかこの無知な自分に力を貸して頂けないでしょうか?

  • Excel97VBAで、カレントディレクトリを取得する方法

    Excel97のVBAで、ワークブックの保存ボタンを作成しています。 1.xlsというファイルを、一旦、1.prn(スペース区切りテキスト)でデスクトップに保存し、再度元のディレクトリの1.xlsに上書き保存する。というマクロを作っています。 SaveAsでFileFormatを変更するところまではわかったのですが、元のファイルに上書きする方法がわかりません。 一度、カレントディレクトリを取得して、同じ名前を付けて保存する、という方法になるのではないかと思いましたが、カレントディレクトリの取得方法がわかりません。 宜しくお願いします。

  • VBA SAVEするワークブックを切替たい

    VBA初心者です SAVEするワークブックを切替えたいのですが、どうすれば可能でしょうか? 例えば (1)マクロのワークブック (2)A(標準フォーマットファイル) (3)B(データファイル) とした場合、(3)を(2)に貼り付けて、(2)を別名で保存(ダイアログで)したいのですが、(1)が別名 で保存されてしまいます (2)のファイル名で貼り付けは完了しています ダイアログ無しでのファイル名指定であれば SAVEできます ダイアログでのSAVEを、(1)から(2)に切替えられれば良いのですが OS:Windows8PRO Excel2010

専門家に質問してみよう