• ベストアンサー

VBA Application.GetSaveAsFilenameについて

名前を付けて保存させるダイアログボックスを表示させたときに、あらかじめファイル名を指定することは可能でしょうか? 保存するフォルダを選択するだけにしたいのです。 sheet1コピーし、新規ブックのsheet1にし、保存閉じる ファイル名はsheet1にする。 どなたか教えてください。

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

VBA Application.GetSaveAsFilenameじゃないですが・・・。 Sub test01() Dim ns As Workbook Dim msg As String Sheets("Sheet1").Copy Set ns = ActiveWorkbook msg = IIf(Application.Dialogs(xlDialogSaveAs).Show(ARG1:="Sheet1" & ".xls", ARG2:=1), "保存", "キャンセル") ns.Close (False) Set ns = Nothing MsgBox msg & "しました。" End Sub

mimoule1998
質問者

お礼

早速のご回答ありがとうございます。 問題なく動作しました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excel VBAでシートを新規ブックとして、名前を付けさせて保存するには

    こんばんは。質問です。 シートを新規ブックにコピーしたいのですが、その際に 名前を付けて保存のダイアログを出して、名前のボックス に「シート名」だけを表示させておいて、後は操作者が任意に 名前を追加できるようにして保存するようにするにはどのように したらいいでしょうか? 例えば、別ブックに保存したいシートが「売上」というシート名 であればダイアログボックスに「売上」と表示させ、操作者は任意で 「売上4月」などとするようにして保存したいということです。 よろしくお願いします。

  • EXCEL VBA プログラミング

    EXCEL VBAについて教えて下さい。 プログラミング超初心者です。 book1でマクロを実行し、ダイアログボックスを表示させて、任意のファイル(book2)を開き、book1のsheet1をまるごとbook 2の末尾にコピーするという処理をしたいのですが、うまくマクロが組めません。 ダイアログボックス表示→ファイルの選択まではいけたのですが、その先で苦戦しています。。 ご存知の方、マクロの組み方をご教示いただけますでしょうか。 よろしくお願い致します。

  • ExcelのVBAでフォルダ指定ができるダイアログボックスを出す方法

    指定したフォルダに自動でExcelファイルを保存できるようにしたいのですが、フォルダ指定ができるダイアログボックスはないのでしょうか?ファイルを指定するダイアログボックスはできるのですが、それでは必ずファイルを選択しないといけないので・・・ 指定できる方法が見つかりません。何か良い方法はないでしょうか?よろしくお願い致します。

  • ExcelのVBAで上書き保存を確認したい

    VBAでGetSaveAsFilename メソッドを使うと、[名前を付けて保存]ダイアログボックスがでます。 ここでファイル名を指定するのですが、このとき同フォルダ内に同ファイル名があった場合でも、何のメッセージボックスもださずに上書きされてしまいます。 同フォルダ内に同ファイル名があった場合のみ、「上書き保存しますか?」というメッセージボックスをだしたいのですが、どのようにしたらよいでしょうか。 教えてください。 よろしくお願いします。

  • フォルダ名だけを取得するVBA

    VBAを使ったエクセルテンプレート適用ツールを作成しているのですが そのVBAのことで教えてください。 現在自作のフォーム上にあるテキストボックスにフルパスが入っているとします(添付図参照)。 *この前提は必須と考えてください。 次に作成ボタンをクリックすると Step1 新しいブックが開かれ行幅や書式などが自動で調整されます。 Step2 ブックの保存ダイアログが自動で開きます。     ただし、保存ダイアログが開いた時点で自作フォーム中の     テキストボックスで指定したフルパスに移動しており、     且つ移動先のフォルダ名(<-注意!!フルパス名ではありません!!)と     同じ文字列をファイル名入力欄に自動で入力されるようにします。    ex) D:\MyProject\Project01\TaskA\にブックを作成し保存する場合、      保存ダイアログのファイル名欄にTaskAとだけ書く。 マクロ自体はここでストップし、これ以降はユーザーがそのファイルメモで 保存してよいかどうかを判断し、問題なければ手動でダイアログ上の「保存」ボタンを押します。 問題はStep2で、保存先のフォルダ名と同じ文字列を保存ダイアログのファイル名に記入するには どのようなコードを書いたらよいでしょうか。 私自身としては下記の二案を考えているのですがそれぞれについて疑問があるので教えてください。 案1 作成ボタンを押した時点でテキストボックスに書かれているフルパスの文字列から   末尾にあるフォルダ名だけを取得して変数に代入し、これを保存ダイアログの   ファイル名欄に反映させる。   疑問:テキストボックスのValue値に書かれているフルパスを示す文字列から      末尾のフォルダ名だけを取得するためのコードは何と書けばよいのでしょうか? 案2 ブックの保存ダイアログが開いて保存先のパスに移動してから今保存ダイアログで    開いているフォルダ名を取得する。    疑問:今アクティブになっているブックが保存されているフォルダ名だけを取得する    方法なら確かあったような気がしています。    しかし今保存ダイアログで表示されているフォルダ名を取得するコードは何と    書けばよいのでしょうか?    そもそもそういったコードや操作自体VBAにあるのでしょうか?

  • 【VBA】シートを別ブックにコピーして保存したい

    8つのシートのうち、 Sheets("マクロ") を除くすべてのシートを新規ブックにコピーし、ダイアログボックスを開いて名前を付けて保存させる→Thisworkbookを上書き保存せずに終了し新規ブック画面へ移動する マクロを作成したいのですが、どの様にロジックを組めばよいでしょうか。

  • EXCEL VBAでコピー元の選択をしたい時

    初めて「教えてgoo」を利用します。掲示板等も未だ利用したことがありません・・マクロの初心者です。 ★関数を使用する時、引数のセル範囲を選択するダイアログボックスのようなものはマクロで作れるのでしょうか。 要は、BOOK1のあるセルでBOOK2のデータの範囲をコピーしてきて貼り付けたいのです。常に同じ保存場所にある同じファイル名ならよいのですが、日々取得するデータのためできません。 作業はEXCEL2002で集計表を作成しています。 集計用ブック・集計結果の表示用(関数やマクロあり) データブック・日々取得するデータ(商品別に複数あり日々名前や保存場所も変わる) 取得するデータはFD数枚に保存されていて、集計用の各シートに貼り付けることによって、まとめのシートに集計が反映されるようにしてあります。   集計シートで「コピー元を選択してください」とダイアログボックスがでてきて、そこを関数の時のように範囲指定してOKすると、アクティブにしていたセルの所に貼りつく・・というものがつくりたいのです。 どなたかVBAにお詳しい方、お知恵をください。 検索方法が下手なのか、類似の質問も見つけられませんでしたし、本も何冊か買いましたがわかりませんでした。 よろしくお願いいたします。

  • EXCEL2000でのVBAについて

    お世話になります。 EXCEL2000のVBで下記のことをしたいのですが、うまく出来ないところがあり対処方法を教えて頂きたいです。 (1)アクティブブックの名前を取得   (2)ブックのセルA1の値を取得 (3)保存ダイアログでA1の値をファイル名にし保存 (4)保存したファイルを閉じる (5)基のアクティブブックを再度開く 以上です。 今できていないのは(1)と(5)です。 基のアクティブブックの名前をプログラム上に直接入力する分には出来るのですが、 ファイル名が変更になった時に、いちいちVBを書き換えるのが面倒なだけです… コードを提示しますので、ご教授願えればと思います。 Sub 保存() Dim ファイル名 As String, フォルダ名 As Object, フォルダ選択 As Object, ファイル名2 As Workbook Set ファイル名2 = ActiveWorkbook ファイル名 = Range("A1").Value Set フォルダ選択 = CreateObject("Shell.Application") Set フォルダ名 = フォルダ選択.BrowseForFolder(0, "保存フォルダを選んでください", 1) ActiveWorkbook.SaveAs Filename:=フォルダ名.items.Item.Path & "\" & ファイル名 & ".xls" MsgBox ファイル名 & ".xls", vbOKOnly, フォルダ名 & "に保存しました" Workbooks.Open "C:\test\" & ファイル名2 Workbooks(ファイル名 & ".xls").Close End sub ファイル名の取得が間違っていると思うのですが、ネットなどで調べてみましたが、よくわかりませんでした。

  • VBAのシート操作について教えて下さい。

    シートがたくさんあるBOOKの最初のシートにあるコマンドボタンを押したら、次のシートから、一つづつシートをコピーして、一つのファイルにし、特定のフォルダに名前を付けて保存する方法を教えて下さい。 宜しくお願いします。

  • Access VBA インポート シート指定

    AccessのVBA を用いて、ExcelからAccessへデータを インポートする際、ダイアログボックスを表示させて Excelのファイルを選択させるようにしています。 これをシート名まで指定させる事は可能でしょうか? ◆シートは枚数が固定されず、都度かわります。 ◆インポートしたいシート数も都度かわります。 ◆1sheet = 1 テーブルにしたいです。 ◆1度の動作で、1sheetのインポートでも、複数でもかまいません。 ◆できれば、ダイアログでファイルを選択した流れで シートまで選択される方法が望ましいです。 ◆Accessのテーブル名もテキストボックスで任意なものが 付けられるようにしたいです。 お知恵をお貸し下さい、何卒よろしくお願いいたします。

専門家に質問してみよう