アプリ版:「スタンプのみでお礼する」機能のリリースについて

基本のファイル名は ABCです。
セルA1は 56赤 とあります。

このとき ファイル - 名前を付けて保存 でファイル名を 56赤ABC としたいです。

今は、ファイル - 名前を付けて保存 としたとき、ABC と出るので
その左に自分で 56赤 と入力して、56赤ABC としてます。

これをマクロとかを使って、ファイル - 名前を付けて保存 のときに
セルA1 ファイル名 と自動で出て欲しいのですができますか?

A 回答 (3件)

こんにちは。



最初に、ファイルをどのように作っているかが問題だと思います。以下のコードですと、Application の扱い方が変わります。Application側にインスタンスを設けるか、それとも、ボタンだけでよいのかが分かりません。既存のブックがある場合と、そうでない場合、新規ブックの場合ではコードが変わります。以下は、単にボタンにインスタンスを設けただけで、解除方法は書かれていませんが、解除の方法は、単に、Set ClassButton =Nothing でよいです。

>ファイル - 名前を付けて保存 のときに
>セルA1 ファイル名 と自動で出て欲しいのですができますか?

たとえば、このようになります。

挿入-Class モジュール
名前は変更しないでください。Class1 です。

Private WithEvents NewBtn As Office.CommandBarButton
Public Property Set myNewBtn(ByVal myBtn As CommandBarButton)
 Set NewBtn = myBtn
End Property

Private Sub NewBtn_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
 Dim FileName As String
 Dim KeyWord As String
 Dim Ret As Integer
 If ThisWorkbook.Worksheets("Sheet1").Range("A1").Value <> "" Then
  KeyWord = ThisWorkbook.Worksheets("Sheet1").Range("A1").Value
  FileName = "ABC" & KeyWord & ".xls"
  Ret = Application.Dialogs(xlDialogSaveAs).Show(FileName)
  CancelDefault = True
 End If
End Sub

標準モジュール
'Option Explicit
Private ClassBtn As New Class1
Sub SetClass()
With Application
 Set ClassBtn = New Class1
 Set ClassBtn.myNewBtn = .CommandBars("Document").FindControl(, 748)
End With
End Sub

Sub Auto_Open()
 Call SetClass
End Sub
    • good
    • 0

Sheet1のA1に「ABC」を入力しておきます。


標準モジュールに
Sub test01()
Application.Dialogs(xlDialogSaveAs).Show arg1:=Worksheets("Sheet1").Range("A1")
End Sub
を貼り付け実行します。
おなじみの「名前をつけて保存」のダイアロウグ画面が出て、
ファイル名の欄が「ABC」になって、待機状態になります。
ここに左に「56赤」を入れる、という方法を考えてはどうですか。
左に入れるというのが、奇異な暗示だし、ファイル名全体を上記コードの前に作ってしまうのが普通科と思いますが。
a=Inputbox()ででも「56赤」の部分をとれば、
arg1:=a & "ABC"
で確認採用方式ができます。「保存」ボタンをクリックする必要あるが。
それを嫌うなら、ActiveWorkbook.SaveAs ファイル名
で良いのでは。
    • good
    • 0

SaveAs メソッド


を使います。

使い方はヘルプをご参照ください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!