Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


10932 / 13644 ツリー ←次へ | 前へ→

【17651】名前をつけて保存ダイアログボックスを表... さる 04/9/4(土) 1:37 質問[未読]
【17653】Re:名前をつけて保存ダイアログボックスを... Asaki 04/9/4(土) 10:46 回答[未読]
【17655】Re:名前をつけて保存ダイアログボックスを... さる 04/9/4(土) 12:05 質問[未読]
【17656】Re:名前をつけて保存ダイアログボックスを... かみちゃん 04/9/4(土) 12:33 回答[未読]
【17657】Re:名前をつけて保存ダイアログボックスを... Asaki 04/9/4(土) 12:40 回答[未読]
【17658】Re:名前をつけて保存ダイアログボックスを... さる 04/9/4(土) 12:49 質問[未読]
【17659】Re:名前をつけて保存ダイアログボックスを... かみちゃん 04/9/4(土) 13:07 回答[未読]
【17660】Re:名前をつけて保存ダイアログボックスを... さる 04/9/4(土) 13:15 お礼[未読]
【17661】Re:名前をつけて保存ダイアログボックスを... さる 04/9/4(土) 14:20 質問[未読]
【17662】Re:名前をつけて保存ダイアログボックスを... Asaki 04/9/4(土) 14:42 回答[未読]
【17664】Re:名前をつけて保存ダイアログボックス... さる 04/9/4(土) 15:18 質問[未読]
【17665】Re:名前をつけて保存ダイアログボックス... かみちゃん 04/9/4(土) 15:24 回答[未読]
【19064】「名前をつけて保存」でキャンセルした場... にゃんぎょ 04/10/20(水) 14:17 質問[未読]
【19067】Re:「名前をつけて保存」でキャンセルした... こもれび 04/10/20(水) 15:27 回答[未読]
【19068】Re:「名前をつけて保存」でキャンセルした... にゃんぎょ 04/10/20(水) 17:05 質問[未読]
【19082】Re:「名前をつけて保存」でキャンセルした... こもれび 04/10/21(木) 9:34 回答[未読]
【19083】Re:「名前をつけて保存」でキャンセルした... にゃんぎょ 04/10/21(木) 10:27 質問[未読]
【19084】Re:「名前をつけて保存」でキャンセルした... ichinose 04/10/21(木) 11:12 発言[未読]
【19090】Re:「名前をつけて保存」でキャンセルし... にゃんぎょ 04/10/21(木) 13:35 お礼[未読]
【19110】Re:「名前をつけて保存」でキャンセルし... [名前なし] 04/10/21(木) 22:03 回答[未読]
【17663】Re:名前をつけて保存ダイアログボックスを... かみちゃん 04/9/4(土) 14:49 回答[未読]
【17666】Re:名前をつけて保存ダイアログボックスを... さる 04/9/4(土) 15:54 お礼[未読]

【17651】名前をつけて保存ダイアログボックスを表...
質問  さる E-MAIL  - 04/9/4(土) 1:37 -

引用なし
パスワード
   名前をつけて保存ダイアログボックスを表示してシート2のセル値を取得してファイル名として保存できますか?

シート2
A2+F2+G2+H2

○×研究+2004+08+18=「○×研究2004/08/18」とファイル名として
保存します。

この命令文はありますか?
どうか教えていただけませんか?

【17653】Re:名前をつけて保存ダイアログボックス...
回答  Asaki  - 04/9/4(土) 10:46 -

引用なし
パスワード
   こんにちは。

Application.GetSaveAsFilename
をヘルプで調べてみてください。

文字列の連結は & を利用します。
"abc" & "def"

【17655】Re:名前をつけて保存ダイアログボックス...
質問  さる E-MAIL  - 04/9/4(土) 12:05 -

引用なし
パスワード
   ▼Asaki さん:
こんにちは。ありがとうございます
>
>Application.GetSaveAsFilename
>をヘルプで調べてみてください。
>
>文字列の連結は & を利用します。
>"abc" & "def"


ヘルプで調べてみましたがどこか悪いでしょうか?
コンパイルエラーを出るけど
教えて下さい。

Private Sub 名前をつけて保存ダイアログボックスを表示してファイル名を取得する()
Dim パス As Variant              
Dim a, b, c, d As Object

Set a = Worksheets("顧客データ").Range("A2")
Set b = Worksheets("顧客データ").Range("E2")
Set c = Worksheets("顧客データ").Range("F2")
Set d = Worksheets("顧客データ").Range("G2")

  パス = Application.GetSaveAsFilename( _
      FileFilter:="a" & "b" & "c" & "d" & .xls)
                
  If パス <> False Then           
   Msgbox "保存するファイル:" & fileSaveName 
  End If
End Sub

【17656】Re:名前をつけて保存ダイアログボックス...
回答  かみちゃん  - 04/9/4(土) 12:33 -

引用なし
パスワード
   こんにちは。かみちゃん です。

横から失礼します。

>ヘルプで調べてみましたがどこか悪いでしょうか?
>コンパイルエラーを出るけど

どういうコンパイルエラーでしょうか?
以下のコードの「.xls」が反転して、「参照が不正また不完全です。」と表示されませんか?
>  パス = Application.GetSaveAsFilename( _
>      FileFilter:="a" & "b" & "c" & "d" & .xls)

まず、「.xls」を「".xls"」にします。

次に、
>      FileFilter:="a" & "b" & "c" & "d" & .xls)

      InitialFileName:="a" & "b" & "c" & "d" & ".xls")
とします。
GetSaveAsFilename メソッドのヘルプを参照すると、引数の説明が載っていると思いますが、FileFilterは、「ファイルの候補を指定する文字列 (ファイル フィルタ文字列) を指定」するだけですので、「既定値として表示するファイル名を指定」するInitialFilenameを使います。

さらに、
      InitialFileName:="a" & "b" & "c" & "d" & ".xls")

      InitialFileName:=a & b & c & d & ".xls")
とします。これは、"a"とすると、aという変数の値ではなく、aという文字そのものを表してしまうからです。

【17657】Re:名前をつけて保存ダイアログボックス...
回答  Asaki  - 04/9/4(土) 12:40 -

引用なし
パスワード
   かみちゃん さんにフォローいただいていますが(ありがとうございます)、もう1点。

>Dim a, b, c, d As Object
データ型は目的に合ったものを正しく利用するのが良いと思います。
これだと、dのみがObject型で、他の3つはVariant型になっています。
今回の場合は、↓のような感じでよいのでは?
Dim a As Range, b As Range, c As Range, d As Range

【17658】Re:名前をつけて保存ダイアログボックス...
質問  さる E-MAIL  - 04/9/4(土) 12:49 -

引用なし
パスワード
   ▼かみちゃん さん:
ありがとうございました。コンパイルエラーが出なくなりましたけど
ファイル保存場所が全てのファイルになっていましたが
できればExcelファイルで保存したいがどこが変更すればよいでしょうか?

Private Sub 名前をつけて保存ダイアログボックスを表示してファイル名を取得する()
Dim パス As Variant

Dim a, b, c, d As Object

Set a = Worksheets("顧客データ").Range("A2")
Set b = Worksheets("顧客データ").Range("E2")
Set c = Worksheets("顧客データ").Range("F2")
Set d = Worksheets("顧客データ").Range("G2")

  パス = Application.GetSaveAsFilename( _
      InitialFileName:=a & b & "/" & c & "/" & d & ".xls")

                
  If パス <> False Then
   MsgBox "保存するファイル:" & fileSaveName
  End If
End Sub


"○×研究2004/08/18.xls"とファイル名を表示してありますが、””を取り外すようにしたいが教えて下さい。

【17659】Re:名前をつけて保存ダイアログボックス...
回答  かみちゃん  - 04/9/4(土) 13:07 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>ファイル保存場所が全てのファイルになっていましたが

「ファイルの保存場所」ではなくて「ファイルの種類」ではないですか?
「ファイルを保存する」ダイアログボックスで、
「ファイル名」の既定値は、InitialFileName引数
「ファイルの種類」は、FileFilter引数
で指定します。

>できればExcelファイルで保存したいがどこが変更すればよいでしょうか?

そこで、次のようにしてみてください。
Asakiさんからのコメントも含めて、★印部分を修正します。

Private Sub 名前をつけて保存ダイアログボックスを表示してファイル名を取得する()
 Dim パス As Variant

 '★
 Dim a As Range, b As Range, c As Range, d As Range

 Set a = Worksheets("顧客データ").Range("A2")
 Set b = Worksheets("顧客データ").Range("E2")
 Set c = Worksheets("顧客データ").Range("F2")
 Set d = Worksheets("顧客データ").Range("G2")

 '★
 パス = Application.GetSaveAsFilename( _
      InitialFileName:=a & b & "/" & c & "/" & d & ".xls", _
       FileFilter:="Excelファイル (*.xls), *.xls,すべてのファイル (*.*),*.*")
 If パス <> False Then
  MsgBox "保存するファイル:" & fileSaveName
 End If
End Sub

【17660】Re:名前をつけて保存ダイアログボックス...
お礼  さる E-MAIL  - 04/9/4(土) 13:15 -

引用なし
パスワード
   ▼かみちゃん さん:
>ありがとうございました。
成功させていただきました。
引数の勉強になりました。ありがとうございました。

【17661】Re:名前をつけて保存ダイアログボックス...
質問  さる E-MAIL  - 04/9/4(土) 14:20 -

引用なし
パスワード
   ▼かみちゃん さん:
申し訳はありませんでした。保存したファイルを呼ぼうと思って
ファイルがなかったそうです。
ファイル保存場所はマイドキュメントです。

>>ファイル保存場所が全てのファイルになっていましたが
>
>「ファイルの保存場所」ではなくて「ファイルの種類」ではないですか?
>「ファイルを保存する」ダイアログボックスで、
>「ファイル名」の既定値は、InitialFileName引数
>「ファイルの種類」は、FileFilter引数
>で指定します。
>
>>できればExcelファイルで保存したいがどこが変更すればよいでしょうか?
>
>そこで、次のようにしてみてください。
>Asakiさんからのコメントも含めて、★印部分を修正します。
>
>Private Sub 名前をつけて保存ダイアログボックスを表示してファイル名を取得する()
> Dim パス As Variant
>
> '★
> Dim a As Range, b As Range, c As Range, d As Range
>
> Set a = Worksheets("顧客データ").Range("A2")
> Set b = Worksheets("顧客データ").Range("E2")
> Set c = Worksheets("顧客データ").Range("F2")
> Set d = Worksheets("顧客データ").Range("G2")
>
> '★
> パス = Application.GetSaveAsFilename( _
>      InitialFileName:=a & b & "/" & c & "/" & d & ".xls", _
>       FileFilter:="Excelファイル (*.xls), *.xls,すべてのファイル (*.*),*.*")
> If パス <> False Then
>  MsgBox "保存するファイル:" & パス
> End If
>End Sub

実行したら保存しなかった。どこか保存できないようなコードがありますか?
今保存してもファイル名が出てこない。Excelファイルだけなく全てのファイルも
見つからない。

【17662】Re:名前をつけて保存ダイアログボックス...
回答  Asaki  - 04/9/4(土) 14:42 -

引用なし
パスワード
   >実行したら保存しなかった。
保存処理そのものは、戻ってきた
パス
を利用して、自分で実行しなければなりません。

アクティブなブックなら
ActiveWorkbook.SaveAs パス
その他の引数は、必要に応じて設定してください。

【17663】Re:名前をつけて保存ダイアログボックス...
回答  かみちゃん  - 04/9/4(土) 14:49 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>実行したら保存しなかった。どこか保存できないようなコードがありますか?
>今保存してもファイル名が出てこない。Excelファイルだけなく全てのファイルも
>見つからない。

GetSaveAsFilename メソッドのヘルプ情報を再度ご確認ください。
「ダイアログボックスで指定したファイルは、実際には保存されません。」と書かれています。
このため、これだけのコードでは、保存はされません。

保存するためには、SaveAs メソッドを使います。
詳しくは、これもヘルプ情報に使用例とともに載っているので確認していただきたいのですが、具体的には、
 If パス <> False Then
  MsgBox "保存するファイル:" & パス
  ActiveWorkbook.SaveAs Filename:=パス
 End If
とすると、アクティブなブックを保存します。

それと、ご自身でお気づきのようですが、
> If パス <> False Then           
>  Msgbox "保存するファイル:" & fileSaveName
> End If
では、メッセージボックスには「保存するファイル:」としか表示されません。
If パス <> False Then           
 Msgbox "保存するファイル:" & パス
End If
としないといけませんね。すみませんでした。

【17664】Re:名前をつけて保存ダイアログボックス...
質問  さる E-MAIL  - 04/9/4(土) 15:18 -

引用なし
パスワード
   ▼Asaki さん:
ありがとうございます。

成功いたしました。保存できました。でも
ダイアログを表示してキャンセルボタンを押したら

SaveASメソッドは失敗しました。Workbookオブジェクトとエラーを出ました。

これはどこか悪いですか?

Sub 名前をつけて保存ダイアログボックスを表示してファイル名を取得する()
Dim パス As Variant
Dim a As Range, b As Range, c As Range, d As Range

Set a = Worksheets("顧客データ").Range("A2")
Set b = Worksheets("顧客データ").Range("E2")
Set c = Worksheets("顧客データ").Range("F2")
Set d = Worksheets("顧客データ").Range("G2")
If a = "" Then Sheets("顧客データ").Activate

  パス = Application.GetSaveAsFilename( _
      InitialFileName:=a & b & "-" & c & "-" & d & ".xls", _
       FileFilter:="Excelファイル (*.xls), *.xls,すべてのファイル (*.*),*.*") _
      
       ActiveWorkbook.SaveAs Filename:=パス
      
                
  If パス <> False Then
   MsgBox "保存するファイル:" & パス
  End If
End Sub

【17665】Re:名前をつけて保存ダイアログボックス...
回答  かみちゃん  - 04/9/4(土) 15:24 -

引用なし
パスワード
   こんにちは。かみちゃん です。

Asakiさんとコメントがだぶったのですが、

>ダイアログを表示してキャンセルボタンを押したら
>
>SaveASメソッドは失敗しました。Workbookオブジェクトとエラーを出ました。
>
>これはどこか悪いですか?

次の部分を

>       ActiveWorkbook.SaveAs Filename:=パス
>      
>                
>  If パス <> False Then
>   MsgBox "保存するファイル:" & パス
>  End If

以下のようにします。
  If パス <> False Then
   MsgBox "保存するファイル:" & パス
   ActiveWorkbook.SaveAs Filename:=パス
  End If

何度も言っていますが、GetSaveAsFilename メソッドのヘルプ情報の「解説」に
「入力が取り消された場合には False が返されます。」と書かれています。
つまり、キャンセルボタンを押すと、パスには、Falseと入っているからです。
Falseでないときに、SaveAsメソッドを実行しなければいけません。

【17666】Re:名前をつけて保存ダイアログボックス...
お礼  さる E-MAIL  - 04/9/4(土) 15:54 -

引用なし
パスワード
   ▼かみちゃん さん:
>丁寧な解説してくれて本当にありがとうございました。

キャンセルしたら何の問題がなく出来ました。

ありがとうございました。

【19064】「名前をつけて保存」でキャンセルした場...
質問  にゃんぎょ  - 04/10/20(水) 14:17 -

引用なし
パスワード
   いつも活用させていただいております。

私も「名前をつけて保存」ダイアログを出してブックの保存処理で困っています。

--------------------------------------------------------------------------
Private Sub 保存ボタン_Click()
  On Error GoTo ErrorHandler
  Dim path As String
  path = Application.GetSaveAsFilename( _
       InitialFileName:="エクセル.xls", _
   FileFilter:="Excelファイル (*.xls), *.xls,すべてのファイル(*.*),*.*")
  
  If path <> "False" Then
    ActiveWorkbook.SaveAs Filename:=path
  End If
  Exit Sub
  
ErrorHandler:
  
End Sub
-------------------------------------------------------------------------
上記のようにコードを書いてるのですが、
ダイアログ表示→「保存」を選択→「上書きするか」メッセージ
                        →「いいえ」を選択

で「SaveASメソッドは失敗しました」のエラーがでます。
エラー処理もいれてみたのですが、キャッチしてくれません。
どこを直したらよいのでしょうか。


>ダイアログを表示してキャンセルボタンを押したら
>
>SaveASメソッドは失敗しました。Workbookオブジェクトとエラーを出ました。
>
>これはどこか悪いですか?
>
> Sub 名前をつけて保存ダイアログボックスを表示してファイル名を取得する()
>Dim パス As Variant
>Dim a As Range, b As Range, c As Range, d As Range
>
>Set a = Worksheets("顧客データ").Range("A2")
>Set b = Worksheets("顧客データ").Range("E2")
>Set c = Worksheets("顧客データ").Range("F2")
>Set d = Worksheets("顧客データ").Range("G2")
>If a = "" Then Sheets("顧客データ").Activate
>
>  パス = Application.GetSaveAsFilename( _
>      InitialFileName:=a & b & "-" & c & "-" & d & ".xls", _
>       FileFilter:="Excelファイル (*.xls), *.xls,すべてのファイル (*.*),*.*") _
>      
>       ActiveWorkbook.SaveAs Filename:=パス
>      
>                
>  If パス <> False Then
>   MsgBox "保存するファイル:" & パス
>  End If
>End Sub

【19067】Re:「名前をつけて保存」でキャンセルし...
回答  こもれび  - 04/10/20(水) 15:27 -

引用なし
パスワード
   こもれびです

▼にゃんぎょ さん:
>いつも活用させていただいております。
>
>私も「名前をつけて保存」ダイアログを出してブックの保存処理で困っています。
>
>--------------------------------------------------------------------------
>Private Sub 保存ボタン_Click()
>  On Error GoTo ErrorHandler
>  Dim path As String
>  path = Application.GetSaveAsFilename( _
>       InitialFileName:="エクセル.xls", _
>   FileFilter:="Excelファイル (*.xls), *.xls,すべてのファイル(*.*),*.*")
>  
>  If path <> "False" Then
>    ActiveWorkbook.SaveAs Filename:=path
>  End If
>  Exit Sub

「 False 」というものはブール型変数の状態の一つです。
ですから、
  If path <> "False" Then ではなく

  If path <> False then

でなければなりません。

【19068】Re:「名前をつけて保存」でキャンセルし...
質問  にゃんぎょ  - 04/10/20(水) 17:05 -

引用なし
パスワード
   ▼こもれび さん:
レスありがとうございます。

>「 False 」というものはブール型変数の状態の一つです。
>ですから、
>  If path <> "False" Then ではなく
>
>  If path <> False then
>
>でなければなりません。

ご指摘のように直してみました。

------------------------------------------------------------------
Private Sub 保存ボタン_Click()
  On Error GoTo ErrorHandler
  Dim path As Variant
  path = Application.GetSaveAsFilename( _
        InitialFileName:="エクセル.xls", _
   FileFilter:="Excelファイル (*.xls), *.xls,すべてのファイル .*),*.*")
  
  If path <> False Then
    ActiveWorkbook.SaveAs Filename:=path
  End If
  Exit Sub
  
ErrorHandler:
  
End Sub
--------------------------------------------------------------------------

しかし、やはり
ダイアログ表示→「保存」を選択→「上書きするか」メッセージ
                           →「いいえ」を選択

で「SaveASメソッドは失敗しました」のエラーがでます。
これは別の方法を考えたほうがよいのでしょうか。

【19082】Re:「名前をつけて保存」でキャンセルし...
回答  こもれび  - 04/10/21(木) 9:34 -

引用なし
パスワード
   こもれびです

▼にゃんぎょ さん:


>  Dim path As Variant
 .
 .
 .
>で「SaveASメソッドは失敗しました」のエラーがでます。
>これは別の方法を考えたほうがよいのでしょうか。

「 path 」はシステムの予約語かもしれません。
この変数名を別の変数名 例えばSavPathに変えてみてはいかがでしょうか

  dim SavPath As Variant

【19083】Re:「名前をつけて保存」でキャンセルし...
質問  にゃんぎょ  - 04/10/21(木) 10:27 -

引用なし
パスワード
   ▼こもれび さん:
おはようございます。
レスありがとうございます。

>>  Dim path As Variant
> .
> .
> .
>>で「SaveASメソッドは失敗しました」のエラーがでます。
>>これは別の方法を考えたほうがよいのでしょうか。
>
>「 path 」はシステムの予約語かもしれません。
>この変数名を別の変数名 例えばSavPathに変えてみてはいかがでしょうか
>
>  dim SavPath As Variant


上記のように直しましたが、やっぱり同じ事象が起こってしまいます・・・
「同じ名前のファイルが・・・」のダイアログで「いいえ」を選択したら、
その前のダイアログ(名前をつけて保存)に戻ってほしいのですが・・・
「いいえ」のイベントって拾えないのでしょうか。

【19084】Re:「名前をつけて保存」でキャンセルし...
発言  ichinose  - 04/10/21(木) 11:12 -

引用なし
パスワード
   にゃんぎょ さん、こもれび さん、こんにちは。

>おはようございます。
>レスありがとうございます。
>
>>>  Dim path As Variant
>> .
>> .
>> .
>>>で「SaveASメソッドは失敗しました」のエラーがでます。
>>>これは別の方法を考えたほうがよいのでしょうか。
>>
>>「 path 」はシステムの予約語かもしれません。
>>この変数名を別の変数名 例えばSavPathに変えてみてはいかがでしょうか
>>
>>  dim SavPath As Variant
>
>
>上記のように直しましたが、やっぱり同じ事象が起こってしまいます・・・
>「同じ名前のファイルが・・・」のダイアログで「いいえ」を選択したら、
>その前のダイアログ(名前をつけて保存)に戻ってほしいのですが・・・
>「いいえ」のイベントって拾えないのでしょうか。
「いいえ」の選択でエラーになるのなら、エラートラップを拾う方法が考えられますよね。
'=================================
Sub test()
  Dim path As Variant
  Do
   path = Application.GetSaveAsFilename( _
       InitialFileName:="エクセル.xls", _
    FileFilter:="Excelファイル (*.xls), *.xls,すべてのファイル(*.*),*.*")
   If path <> False Then
    On Error Resume Next
    ActiveWorkbook.SaveAs Filename:=path
    If Err.Number <> 1004 Then
      Exit Do
      End If
   Else
    Exit Do
   End If
   Loop
End Sub
但し、「いいえ」と「キャンセル」の区別は付かないので、どちらも
保存ダイアログに戻ってしまいますが・・・。


もうひとつは、同じ名前のファイルが存在するか否かをSaveasメソッドに任せないで
コードの中でDIR関数等を使用してチェックし、Msgbox等で確認メッセージを自作する方法ですが・・・。

【19090】Re:「名前をつけて保存」でキャンセルし...
お礼  にゃんぎょ  - 04/10/21(木) 13:35 -

引用なし
パスワード
   ▼ichinose さん:
レスありがとうございます。

教えていただいたエラートラップでもやはりだめでした・・・
ので、もうひとつの方法のDir関数とmsgboxを使ってみたところ、
やっと自分の目指す形となりましたー!
初めてDir関数を使ったのですが、うまくいきました。

--------------------------------------------------------------------------
Private Sub 保存ボタン_Click()
  Dim savPath As Variant
  Dim fName As String
  Dim a As Integer
  
  Application.DisplayAlerts = False
  
  Do
    savPath = Application.GetSaveAsFilename( _
          InitialFileName:="エクセル.xls", _
              FileFilter:="Excelファイル (*.xls), *.xls,すべてのファイル(*.*),*.*")
       
    If savPath <> False Then
      fName = Dir(savPath)
      
      If fName <> "" Then
        a = MsgBox("同じ名前のファイルがあります。上書きしますか?", vbYesNoCancel)
        Select Case a
        Case 6 'OK
          ActiveWorkbook.SaveAs Filename:=savPath
          Unload Me
          Exit Sub
        Case 7 'NO
        
        Case 2 'Cancel
          Exit Sub
        End Select
      Else
        ActiveWorkbook.SaveAs Filename:=savPath
        Unload Me
        Exit Sub
      End If
    Else
      Exit Sub
    End If
  Loop
  
End Sub
--------------------------------------------------------------------------

ichinose さん、ありがとうございました。
こもれび さんも、ほんとうにありがとうございました。

【19110】Re:「名前をつけて保存」でキャンセルし...
回答  [名前なし]  - 04/10/21(木) 22:03 -

引用なし
パスワード
   ▼にゃんぎょ さん:
解決したようですが、参考までに。
ただし、Excelのバージョンによっては使えませんが。

Sub 保存ボタン_Click()
 With Application.FileDialog(msoFileDialogSaveAs)
  .InitialFileName = "エクセル.xls"
  If .Show = 0 Then Exit Sub
  Application.DisplayAlerts = False
  .Execute
  Application.DisplayAlerts = True
 End With
 Unload Me
End Sub

10932 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free