• ベストアンサー

VBA ダイアログボックス 名前をつけて保存

お世話になります 「概要」 名前を付けて保存時に決まった文字とセル値を取得して保存させたいのですが可能ですか? 「説明」 「これは様式」は毎回決まった値で 「01」はセルA1から取得した値です 「です」は毎回決まった値です 保存後は下記になります これは様式01です.xls わかる方、よろしくお願いします

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

  • ベストアンサー
  • pkh4989
  • ベストアンサー率62% (162/260)
回答No.2

こんにちは。 名前をつけて保存するダイアログボックス表示及び、保存ボタンを押すと取得ファイル名で保存されます。 Sub 名前を付けて保存()   Dim fnm   As String   '   fnm = "これは様式" & ActiveSheet.Range("A1").Value & "です.xls"   fnm = Application.GetSaveAsFilename(InitialFileName:=fnm, _            filefilter:="Excel ファイル (*.xls), *.xls", Title:="名前を付けて保存")   If fnm <> "False" Then     ActiveWorkbook.SaveAs Filename:=fnm     'ActiveWorkbook.Close   End If End Sub

その他の回答 (1)

  • Neko4x
  • ベストアンサー率52% (27/51)
回答No.1

VBA上から「名前をつけて保存」ダイアログを表示するのでしたら With Dialogs(xlDialogSaveAs) .Name = "これは様式" & Range("A2").Value & "です.xls" .Show End With のような形でいけませんか? (現在Officeが入っていない環境なので、試してませんが…)

関連するQ&A

  • VBA 名前を付けて保存(ダイアログBOX)

    いつもお世話になります 処理 (1)セルへ値等入力 ↓ (2)セルの値を名前にして 名前を付けて保存する ↓ (3)クリアにする ↓ (1)からスタート 上記の繰り返し作業をしたいのですが 名前を付けて保存した瞬間にマクロもその名前で 保存されているらしく繰り返し作業がうまくいきません どなたか分かる方おねがいします

  • 名前を付けて保存

    Win-me Excel2000です。 Excelで名前を付けて保存するときに ファイル名がBook1.xlsになっていますが 保存するときにBook1.xlsではなく セルA1の文字が自動で入っているにはどうしたらよいですか。 何か、説明が悪いですけど。 保存するたびにファイル名をつけなくてはいけなくて B00k1では後で、開くときに内容がわかりにくくて、 A1セルの文字がファイル名でいいものですから。

  • VBA 名前を付けて保存の方法について

    VBAのコードにて名前を付けて保存のやり方ができません。 現在開いているファイルを 名前を付けて保存したいのですが ファイルの指定方法が間違っているのか保存できません。 やりたいこと 現在開いているファイル内のシート(設定画面)の A1セルとA2セルの文字を "G:¥●エクセル¥ソフト¥計画"のドライブにて 保存する(A1セルとA2のセルの文字をくっつけて名前を付けて保存したい) 例:元のbook1のファイル名をA1セルとA2セルの文字をくっつけた   名前にしてから保存したい。 保存先のドライブの指定方法が分からなかったため マクロの記録にてそのドライブへ名前を付けて保存してみて ドライブの名前の指定をしました。(この方法も間違っていますか?) コードを下記に記載しています。 すいませんがうまく動くコードを記載してもらえると 助かります。 回答よろしくお願いします。 Sub macro1() Dim wb As Workbook Dim ws As Worksheet Dim hozonPath As String Dim FolName As String Dim FilName As String Set wb = ThisWorkbook Set ws = Worksheets("設定画面") hozonPath = "G:¥●エクセル¥ソフト¥計画" FolName = ws.Range("A1").Value FilName = ws.Range("A2").Value wb.SaveAs fileName:=hozonPath & FolName & "¥" & FilName End Sub

  • ダイアログボックス

    VB6.0で開発しています。 下記のようにして名前を付けて保存]ダイアログボックスを使って 保存しようと思っているのですが ダイアログボックスが開くとファイル名のところに:が表示されており :のままでキャンセルを押すとFalse.xlsという名前でマイドキュメントに保存されてしまいます。何が原因なんでしょうか? お願いします。 exl.Sheets(1).Name = "Sheet1" exl.Application.Visible = True fnm = Application.GetSaveAsFilename(fileFilter:="Excel ファイル (*.xls), *.xls") exl.SaveAs fnm

  • エクセル VBAによる名前を付けて保存?

    エクセルのVBAにて名前(本日日付&NO.)を付けてブックを保存 したいのですが下記のように書込作成しました。 ActiveWorkbook.SaveAs _ Filename:="C:\発注書\" _& "発注済" & Format(Date, "mm.dd")   & "(" & ".xls" 上記で 発注済(  までの名前を付けの保存は出来たのですが (  のあとに発注書シート内のセルU12にあるNOを入れたいのですが 色々試してみましたがコンパイルエラーが出てしまいます。 セルをどの様に指定すれば宜しいでしょうか?

  • Excel2010VBAで名前を付けて保存

    Windows XP + Excel 2010 の際、社内の定型ドキュメントを保存する際、以下のようにして [名前を付けて保存] ダイアログを表示し、ファイル名ボックスに FileName 変数の値を入れておりました。 Dim FileName As String (中略) FileName = xxxx & yyyy & zzzz (<--- xxxx、yyyy、zzzz は毎回値が変化するので、別の変数を使用して値を取得しています) SaveFileName=Application.GetSaveAsFilename(InitialFileName:=FileName) If SaveFileName <> "False" Then ActiveWorkbook.SaveAs Filename:=SaveFileName, FileFormat:=xlOpenXMLWorkbook MsgBox "このブックを保存しました。" Else MsgBox "保存がキャンセルされました。" End If End Sub しかし、Win7Pro+Excel2010 のマシンにリプレイスし、同一の vba を動かしますと [名前を付けて保存] ダイアログでファイル名が空白になり、FileName 変数の値を取得してくれなくなってしまいました。 なお、SaveFileName 以降の文字列をコメントアウトし、SaveFileName の直前で Msgbox FileName を 実行すると、意図したとおり FileName 変数が働き、ファイル名を取得してくれています。 また、InitialFileName 以降の文字列を固定値にする ("" で囲む) と、InitialFileName で指定した文字列を取得して [名前を付けて保存] ダイアログを表示します。 OS の変更に伴うこのような動作の変更の差異が何にあるのかわかりません。 Win7+Excel2010 の環境で、以前と同様、[名前を付けて保存] ダイアログを表示した際、変数で取得した値をファイル名ボックスに自動的に挿入するコードを教えてください。 よろしくお願いいたします。

  • excel2003の vbaの名前定義について

    excel2003の vbaで、名前定義した範囲から、任意のセルの値を抜き出したいです。 例えば、Aという名前定義した範囲があるとします。 AはA1セル~A10セルの範囲です。 そして、たとえいばA3セルの値を取得したい場合。 名前定義した範囲を使ってどのように表現すればよいでしょうか?

  • 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 名前定義の参照について

    設定している名前定義を参照したいと思っています。 名称:タイプ 値 A1:サンプル1 A2:サンプル2 A3:サンプル3 A4:サンプル4 A5:サンプル5 と、設定されている場合に、これをVBAから (1) 「タイプ」という名前定義にいくつの値が設定されているのか (2) 「タイプ」という名前定義で設定されている個々の値 を取得したいと思っていますが、 調べてみても「定義されている名前の値」や 「定義されている名前の個数」の取得や削除の方法ばかりで 良く分かりませんでした・・・ ちなみに .Names("タイプ").Value で、設定セルの範囲は取得できます。 そこから、セルの値を直接見ることによって参照するものなのでしょうか?

  • VBAで名前を付けて保存

    テキストファイルをエクセル出力する処理を考えております。 テキストファイルを開き、名前をつけて保存する処理が上手くできません。 シート1のある2つのセルに入力パスと出力パスが設定されているとします。 例えばcells(4,4)に入力パスが設定されており(¥~~~.txt) cells(6,4)に出力パスが設定されており(¥~~~xls) 上記のような状態とします。 cells(4,4)にあるテキストファイルを開き、 それを拡張子をエクセルにしてcells(6.4)にある出力先に名前をつけて保存をしたいのです。 オープンする場合は Workbooks.OpenText Filename:=Workbooks("○○.xlsm").Sheets(1).Cells(4, 4).Value & ".TXT" で上手くいきました。 しかし保存の際に ActiveWorkbook.SaveAs Filename:=Sheets(1).Cells(6, 4).Value & ".xls" で実行するとエラーがでてしまいます。 どうすれば良いでしょうか。

専門家に質問してみよう