• ベストアンサー

VBAでアクティブファイルの場所を検索するマクロはありませんか?

Visual BasicというかエクセルVBAのマクロなのですが アクティブになっているエクセルブックがどの場所に保存されているか分かるマクロって存在しないですかね? できれば Cells(1.1) = ? と?の部分に何かを入れるとA1にC:\~といったような保存場所が表示されるといったマクロが理想です。

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

  • ベストアンサー
noname#52504
noname#52504
回答No.2

動作の概要  アクティブなシートのA1セルに、  アクティブなブックが保存されている場所を表示する Sub Sample()  Cells(1, 1) = ActiveWorkbook.Path End Sub ご参考まで。

Kim_Wipe
質問者

お礼

ありがとうございます。 これで作りたかったマクロが作れます!! ありがとうございました。

その他の回答 (1)

回答No.1

>Cells(1.1) = ? >と?の部分に何かを入れるとA1にC:\~といったような保存場所が表示されるといったマクロが理想です。 と言うのがわからないのですが、 ActiveWorkbook.FullName で現在アクティブになっているブックのディスク上のパスと名前が取得できると思いますが。

Kim_Wipe
質問者

お礼

ありがとうございます。 Sub Folder() Cells(1, 1) = ActiveWorkbook.FullName End Sub としたときにA1に保存場所が表示させたいという意味だったのですが・・・ すこし求めている技術とは違いましたが、勉強になりました。

関連するQ&A

  • これはマクロ、VBAが必要ですか?

    データベース用のエクセルファイルに10年間の気象データがあります。 列A   B    C   D 日付  天気 最低気温  最高気温 別のBOOKのシートに 任意の期間(可変)を設定できて、その期間をデータベースから検索し A~D列に表示したいと思ってますが マクロ、VBAを使った方が良いでしょうか? マクロ、VBAは未経験なのでまずはフリーソフトをいろいろ探してます。使えそうなものをご存知ありませんか? VBAも必要があればこの機会に少し学びたいとも思います。 ちなみに10箇所の地域で解析するので、やはりそれぞれBOOKを作った方がいいですよね? どうかよろしくお願いします。

  • VBAのやり方とマクロ

    ExcelでVBA(ビジュアルベーシック)出来るんですか Office2007なんですが、どうやってやるんですか、 教えて下さい、お願いします マクロの事もお願いします

  • VBA 他のブックから図形にマクロを登録するマクロ

    別のブックから複数あるブックを開いてボタンを作りマクロを登録し、保存して閉じるということを繰り返したいのですが、ボタンを作るところまではできたのですが、ボタンにマクロを登録する際に下記の="A.xlsm!マクロ名"の部分のAを変数もしくは"\\〇〇\" & .Cells(I, "B") & ".xlsm"のように変更したいのですが、できません。 ご教示頂ければと存じます。何卒宜しくお願い致します。 Sheets("〇〇").Shapes("Button 4").OnAction = "A.xlsm!マクロ名"

  • 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

  • エクセルマクロで任意のファイル名をつけて保存したい

     エクセルVBAについての質問です。  エクセルのマクロで、Aというファイルを開いて、そのうち必要なワークシートだけを抽出し、新しいブックに移動し、その新しいブックを新しいブックのsheet1のセルC2の文字列をファイル名として保存するようなマクロをくみたいと思っています。  ファイルを開いて必要なワークシートだけを抽出し、新しいブックに移動するところまではできましたが、新しいブックのセルC2の文字列をファイル名として保存することができません。FNを変数として宣言して、C2の文字列を代入し、FNをファイル名として保存しようとすると、ファイルにFNという名前が付いてしまいます。どうすれば、C2の文字列をファイル名として保存できるのでしょうか。なお、保存するフォルダはc:\変換ファイル\6月です。どなたか教えてください。よろしくお願いします。

  • VBAを用いた場合のマクロの保存先について

    VBAを用いて作ったマクロの保存先は、どこかで設定できるのでしょうか。 これまで、何も考えずに保存していました。 しかし最近、マクロを記録→個人用ブックに保存した後は、変更しなければ自動的に個人ブックに保存されると知りました。 VBAで作ったマクロに関しても、このことは当てはまるのでしょうか。 当てはまるのなら、どこで保存先を設定できますか? よろしくお願いいたします。

  • VBAマクロがうまく動きません

    こんにちは。いつもお世話になっております。 掲題の通りなのですが、下記のマクロを作り、 あるブック(毎回異なります)の全シート(毎回名前も数も異なります) に対して、同じ作業をしてほしいのですが、 1シート目で止まってしまいます。 特にエラー表示も出ないので、何が違っているのか わからず、どのように修正をしたらよいか、ご教示いただければ 幸いです。 エクセル2010を使用、パーソナルブックにマクロ登録しています。 Sub Test() Dim i As Integer ' 現在のブックのシート数を取得 For i = 1 To ThisWorkbook.Worksheets.Count '保護解除 Worksheets(i).Unprotect Password:="" '非表示列を表示 Worksheets(i).Columns.Hidden = False 'A列挿入数式コピー、オートフィル Worksheets(i).Columns(1).Insert Range("A12") = "=B12&C12" Range("A12").AutoFill Destination:=Range("A12:A" & Range("D" & Cells.Rows.Count).End(xlUp).Row), Type:=xlFillCopy Next i End Sub よろしくお願い致します。

  • Excel2007でマクロのファイルを作ってから、立ち上げに空のブックではなく、マクロのブックが開いてしまう。

    Excel2007で、マクロやVBAを使うようになり、ファイルを保存するようになってから、毎回、Excelを立ち上げ際に空のブックが開かず、困っています。

  • マクロが機能しない場合

    エクセルの表をダウンロードして、使っている最中に次の表示が出ました。 「このブック内のvisual basic for application(VBA)マクロは破損しており、削除されました。マクロの破損は現在のファイルに存在する可能性があります。マクロを回復するには、このファイルのバックアップコピーを開いてください(バックアップコピーがある場合)」 Windows updateのアンインストールをしない場合は、次のupdateまでは使えないと言うことでしょうか? よろしくお願いします。

  • エクセルVBAでコピー

    エクセルVBAでのコピーについての質問です。 ブック1 とブック2があります。 ブック1 のSheet1 内にマクロ含むワークシートを 新規ブックにファイル名を指定して 下記のようなプログラムでコピーしようとすると (標準モジュール1の内容) Sub newfilesave() MsgBox "デスクトップの「○○」フォルダに控え○○_日付時間.xlsxファイルを生成します。" Sheets("受付仕分リスト").Copy ActiveSheet.Cells.Copy ActiveSheet.Cells.PasteSpecial Paste:=xlPasteValues Application.CutCopyMode = False ActiveSheet.Range("A1").Select 'マクロなしのエクセルデータとして名前を付け、ファイル形式も決めてデスクトップに日付を付けて保存する。。 ActiveWorkbook.SaveAs _ Filename:="C:\Users\user\Desktop\○○\○○_" & Format(Now(), "yyyymmdd_hhmm"), _ FileFormat:=xlOpenXMLWorkbook End Sub Sheet1 内にマクロの内容までコピーされてしまいます。 ブック1のレイアウトや書式などはそのままに マクロ部分だけを取り除いてコピーするには どのような流れでプログラムすればいいでしょうか? よろしくお願いします。

専門家に質問してみよう