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

教えてください!!
ワークブックで名前をつけて保存するときのマクロなんですが、
自動記録すると下記のように記述されています。
ActiveWorkbook.SaveAs Filename:="C:\○○○\○○○\□□□□□.xls"

この□□□□□の部分はインプットボックスを表示させたいのですが、
こういうマクロを組むことはできますか?

A 回答 (5件)

こんにちは。



>コンパイルエラー:修正候補:ステートメントの最後
>とエラーになってしまいます。

そのエラーは、Sub ○○○()
ときちんと書かれていないからです。ファイル名が入っていないエラーではありません。

私も二種類の型で書いてみました。
Test1 は、まだ、エラー処理が足りません。
'-------------------------------
Sub Test1()
'InputBox を使った方法
  Dim Fname As String
  Dim fn As String
  '規定のパスを書いておく
  Const MYPATH As String = "C:\○○○\○○○\"
  Fname = InputBox("ファイル名")
  If Fname = "" Then Exit Sub
  fn = MYPATH & Fname & ".xls"
  If Len(Dir(fn)) = 0 Then
    ActiveWorkbook.SaveAs Filename:=fn
  Else
    MsgBox Fname & " :すでに同じファイルがあります。", 48
  End If
End Sub
'-------------------------------
Sub Test2()
'ダイアログを使った方法
  Dim Fname As String
  Dim fn As String
  '規定のパスを書いておく
  Const MYPATH As String = "C:\○○○\○○○\"
  Fname = Application.InputBox("ファイル名", Type:=2)
  If Fname = "" Or StrComp(Fname, "FALSE", 1) = 0 Then Exit Sub
  fn = MYPATH & Fname & ".xls"
  With Application.Dialogs(xlDialogSaveAs)
    .Show fn, 1
  End With
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます!!!
完璧です。本当に助かります。すっきりしました(喜)
1番目もいいけど、2番目はブック名を引用したいときなんかはすごくいいなと思いました!ありがとうございました!!

お礼日時:2008/02/01 11:48

たとえば、



'変数の定義
Dim fname$
'ファイル名入力
fname$ = InputBox("ファイル名を入力してください", "○○○に保存", "")
'キャンセルまたは何も入力しなかったした場合、処理を中断
If fnname$ = "" Then
Exit Sub
Else
End If
'ファイルを保存
  ActiveWorkbook.SaveAs Filename:="C:\○○○\" & fname$

という感じでどうでしょう。
同名のファイル名を入力したとき上書き確認が出ますが、そこでいいえにした場合、エラーになります・・・中途半端ですいません。
    • good
    • 0
この回答へのお礼

ありがとうございます。
やってみました。
インプットボックスにファイル名を入力しますが、保存されないようです。

お礼日時:2008/02/01 11:25

#1です。



では、

FN = InputBox("ファイル名を入力してください。", "名前をつけて保存")
If FN = "" Then Exit Sub
ActiveWorkbook.SaveAs Filename:="C:\○○○\○○○\" & FN & ".xls"
    • good
    • 0
この回答へのお礼

ありがとうございます。

でも、やっぱり同じエラーが出てしまいます・・・。

お礼日時:2008/02/01 10:55

test = InputBox("ファイル名")


ActiveWorkbook.SaveAs Filename:="C:\○○○\○○○\"&test&".xls"
では?
    • good
    • 0
この回答へのお礼

いけそう!!と思ってやってみましたが、
コンパイルエラー:修正候補:ステートメントの最後
とエラーになってしまいます。

お礼日時:2008/02/01 09:38

組み込みダイアログをつかったらいかがでしょう?



Application.Dialogs(xlDialogSaveAs).Show

これで、保存先もファイル名もユーザーが自由に設定できます。
    • good
    • 0
この回答へのお礼

ありがとうございます!!
保存場所が決まってる場合で、ブックの名前をつけるとこまでいけたら最高なんですが・・・。

お礼日時:2008/02/01 09:36

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