- ベストアンサー
エクセルのブックを保存するときのマクロ
エクセルで、ユーザーフォームを使ったマクロを作成しています。 もう、殆ど出来上がっているんですが、最後に別名保存の「コマンドボタン」を設置したいと考えています。 そこで質問なんですが、通常、別名保存をする際は ThisWorkbook.SaveAs Filename:="c:\○○\△□.xls" という記述を行いますが、「△□.XLS」のファイル名、つまり「△□」の部分を、テキストボックスで入力されたセルの文字列としたいと思っています。 もちろんこの文字列はその都度変化する変数です。 どなたかご存知の方がおられましたら、是非ともご教授頂きたくお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
例えばこんな感じでどうでしょう ThisWorkbook.SaveAs Filename:="c:\○○\" & UserForm1.TextBox1.Value & ".xls" UserForm1 や TextBox1 は必要に応じて変えてください
その他の回答 (2)
最後に閉じる時であれば、Auto_Close()も利用できます。 Option Explicit Public Sub Auto_Close() Dim strFileName As String strFileName = Worksheets("Sheet1").TextBox1.Value & "" If Len(strFileName) > 0 Then ThisWorkbook.SaveAs Filename:="c:\○○\" & strFileName & ".xls" Else MsgBox "上書き保存します。" End If End Sub
お礼
早速の回答有難うございました。 お蔭様で希望通りの動作が出来ました。 有難うございました。
- papayuka
- ベストアンサー率45% (1388/3066)
GetSaveAsFilename を使うとか。 Dim fName fName = Application.GetSaveAsFilename(, "Excel (*.xls), *.xls") If fName <> False Then ThisWorkbook.SaveAs fName
お礼
早速の回答有難うございました。 お蔭様で希望通りの動作が出来ました。 有難うございました。
お礼
早速回答を頂き、有難うございます。 ちゃんと出来ました。 記述頂いた内容を見て、僕の考えの間違いに気がつきました。""で全部くくっていたのを、分ければ問題なかったんですね。 有難うございました。