• ベストアンサー

開いているファイルを削除し、別名で保存する方法

エクセルVBA独学中の初心者です。 VBAを利用して以下のことがしたいのですが、わかりません。 助けて下さい。よろしくお願いいたします。 エクセル2003を使用しています。 現在開いているファイルのセル1Aの値を参照したファイル名で保存し、先に開いていたファイルを削除するにはどうすればよいのでしょうか? 先に開いていたファイルを閉じるではなく、削除してしまいたいのです。 そのファイル名は固定されたものではなく、ランダムなものなので指定できません。 どなたかご存知の方、ご教授ください。 よろしくお願いいたします。

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

  • ベストアンサー
  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.1

VBA独学中であれば、考え方だけの提示でいいのかな? 《マクロは開かれているBook上での実行》でいいのですよね? 1.はじめに自分自身のブック名フルパスの取得 ThisWorkbookプロパティを利用 ThisWorkbook.Path でBookのフルパス、ThisWorkbook.Name でブック名が取得出来ます 取得したフルパス¥ブック名の形式で変数として保管・・・変数A 2.次にA1セルの内容を変数として保管・・・変数B Bookを《名前をつけて保存》する動作をマクロの記録でマクロ化したものを編集して、ファイル名の部分を変数Bに置き換えた物を作成 3.ファイルの削除はKillステートメントで実行 Kill 変数A で出来ます あとは1.2.3.と順番に組み合わせれば完成

yamayama456
質問者

補足

>考え方だけの提示でいいのかな? すみません、見栄をはってしまいました。 独学でマスターするほどのレベルではなく、必要なvbaを何とか作ってみているレベルです。 恐れ入りますが、考え方のご提示だけでは、まだ作れませんでした。 変数Aなどのやり方が分かりません。 調べてみますが、もしまた教えていただけるのであれば、実際のマクロを具体的に記載していただけると助かります。 よろしくお願いいたします。

関連するQ&A

  • VBAからEXCELの新規ファイルを作成する

    VB6.0 Excel2000を使用しています。 VBAからEXCELファイルを参照する方法は前回教えていただきましたが 新規にEXCELファイルを作成する方法がわからないので教えてください。 【やりたいこと】 ・ファイル名は、ダイアログボックスから入力され、フルパスで変数に  格納されています。 ・シート名は固定文字で指定します。 (↑ここまではできています) (↓ここからわかりません) ・セルの内容を編集したあと、指定のファイル名・シート名で保存したい よろしくお願いします。

  • ファイルの保存場所を設定してしまう方法

    ファイルを保存する時に、保存先を指定できるマクロ(下記参照)があります。 保存場所あらかじめ設定するには、何を足せばいいのでしょうか? Sub NameSave() Application.EnableEvents = False Application.Dialogs(xlDialogSaveAs).Show arg1:=ファイル名 Application.EnableEvents = True End Sub vbaは初心者です。 エクセル2003を使っています。 ご存知の方、どうぞ教えてください。 よろしくお願いいたします。

  • EXCEL VBAで違うファイルを参照したいです

    EXCEL VBAで困ってます アクティブなシートのセル番地"B1"に"外部"と値が入力されていて 同じアクティブなシートのセル番地"B2"に"仕様"と値が入力されています これをネットワーク先にあるエクセルファイルの中に該当する値が入力されているか を調べたいのですが、ロジックをどう書けば良いのかわかりませんので教えてください 例えばネットワーク先のファイルは仮に以下とします \\EXCEL\VBA\MACRO\Reference.xls このファイル内に上記の値が格納されています ただ、外部については"内部/外部"と入力されており、"仕様"は同じです ですので完全一致と部分一致(?)で比較をし、それぞれ"C1""C2"に合致すれば"○"、 無いもしく違えば"×"と値を返したいのです 尚且つ、ファイル内を指定するだけで、セル番地やシート名まで指定せずに比較したいのです どうかご教授頂きますようお願い致します

  • 開いているファイルをリネームする方法 vba

    エクセルvbaで、開いているファイルをリネーム保存することは可能なのでしょうか? リネームは、名前の書き換えという意味で、名前を付けて保存ではないです。 検索してみましたが、なかなか該当するものが見つけられません。 やりたいことは、フォルダ内にファイルは1つしか存在せず、セルA1に値が入力されると、その値でファイル名が随時変更されるようにしたいのですが、その他、どのようなvbaが可能でしょうか? エクセルvba、初心者です。 ネット検索で、必要なvbaを持ってきて使う程度のことしかできないので、自分で組み立てるレベルではありません。 できれば、キーワードではなく、できるだけ書いてくださると助かります。 バージョンは2003です。 どうぞ、お分かりになる方、教えてください。 よろしくお願いいたします。

  • Excelマクロでファイルを開き、別名での保存方法

    Excel VBAについて確認させてください。 Excel VBAで下記のようなプログラムを作成しました。 簡単に言えば元のファイルを開いて、元のファイルにある処理をして ファイル名を変えて保存するといったマクロです。 ですが、下記のプログラムはInputBox 関数で ユーザにわざわざフルパス(C:\・・・)で入力させる必要があります。 (変数A1の部分です。) この部分をこのマクロの存在するディレクトリの場所を何らかの関数?で あらかじめ検索してその場所を引数に渡して指定しておき、 ユーザにはファイル名のみ入力させる方法に改良したいのですが その方法をご教授いただけますでしょうか。 (チェックするファイルはこのマクロと同じディレクトリにあることになっている設定です。) そして保存するときもフルパス(C:\・・・)でわざわざ入力する必要があります。 (下記のプログラムでは変数A2) そこでこのマクロの存在するディレクトリの場所を何らかの関数?で あらかじめ検索してその場所を引数に渡して指定しておき、 そこに自動的に名前を変えて保存する方法に改良したいのですが その方法をご教授いただけますでしょうか。 (たとえば111.txtを処理した場合、111処理済.txtとして自動的に保存。) 以下、プログラム本文です。 ------------------------------------- Sub charactercheck() Dim a As String Dim y As Long Dim A1 As String Dim A2 As String A1 = InputBox("チェックしたいファイル名をパス名から入力してください。") A2 = InputBox("チェック結果を保存するファイル名をパス名から入力してください。") With CreateObject("Scripting.FileSystemObject").GetFile(A1).OpenAsTextStream a = .ReadAll For y = 1 To Cells(Rows.Count, 1).End(xlUp).Row a = Replace(a, Cells(i, 1), "") Next .Close End With With CreateObject("Scripting.FileSystemObject").OpenTextfile(A2, 2, True) .Write a .Close End With End Sub

  • IEのダウンロードファイル保存場所を参照する方法

    IEで、ファイルダウンロードを実行すると、「名前を付けて保存」ダイアログボックスが表示されます。 「保存する場所」でフォルダ名を指定して保存すると、次回のファイルダウンロードのときに、指定したフォルダ名が表示されます。 これは、「保存する場所」のフォルダ名をどこかに記憶しているからだと思います。 EXCELマクロでダウンロードされたファイルを開いて処理したいのですが、この「保存する場所」のフォルダ名を参照してファイルを開くにはどうしたらよいのでしょうか。 よろしくご教授ください。

  • エクセルファイルへの保存方法

    .NET2008を使用しております。 vb.netから ある数値をエクセルの指定したセルに書き込んで エクセルファイルとして保存したいのですが SaveFileDialogを 使用することはわかるのですが エクセルファイルのセル指定と保存方法がわかりません。 当方 はじめたばかりの初心者で質問内容もわかりにくいかもしれませんが よろしくお願いいたします。

  • エクセル、VBAを使ってのファイル保存。

    エクセルでファイル(既存)を開いたら まず「名前を付けて保存」をして 新しく作ったファイルで作業を進めたいのですが 毎回保存のファイル名が変わるので 固定の名前での記述(VBA)が出来ません。 そこで、保存手前の段階である ダイアログボックスを表示させた状態で終わらせる というマクロは出来るのでしょうか? (保存先を決めたりファイル名を入力する状態) 色々試してみたのですが、どうにもうまく行かず… 皆さんの知恵をお借りしたいです。 宜しくお願いします。

  • セルの値をファイル名として習得したい

    Excel2000でセルの値をファイル名として習得したい Excel2000でVBA SaveAsメッソドを使用しファイルを保存しようと考えております。 この際ファイル名をセルの値より取りたいと考えております。 どのようにすればよいかお教えください。 セルの値は関数CONCATENATEを使用しいくつかの文字を結合したものです。

  • エクセルで保存時のファイル名

    エクセルでファイルを書き込む(「ファイル」-「名前を付けて保存」) 時に、セル内にあるテキストをファイル名として自動的に書き込み時に 指定する事はできるでしょうか。 例えば A1セルに"名古屋"、A2セルに"10月"と入っている時に 「名前を付けて保存」で、ファイル名=名古屋10月.csv (ファイルの種類はCSV)としたいのですが。 ご教授、よろしくお願いいたします。

専門家に質問してみよう