電子書籍の厳選無料作品が豊富!

Excel2000でFileDialogにコンパイルエラーが表示される

いつもながらExcelのマクロについての質問です。

Dim 保存 As FileDialog
Set 保存 = Application.FileDialog(msoFileDialogSaveAs)
If 保存.Show = -1 Then
保存.Execute
End If
Set 保存 = Nothing

これがExcel2002で使っていたマクロです。
ところが、同じものをExcel2000で使おうとしたら

保存 As FileDialog

の部分にチェックが入り
「コンパイルエラー ユーザ定義型は定義されていません。」
と表示されて止まってしまいました。
Excel2000でもExcel2002と同じ操作ができるようにするには
どうしたらよいのでしょう。

以上、よろしくお願いいたします。

A 回答 (4件)

またまた登場、myRangeです。


ご気分を悪くさせたとしたら、I have to apologize...(^^;;;

ファイル名を表示したければ、引数にファイル名を付加するだけです。

'-----------------------------
Sub Test()
 Dim 保存
 Dim myFile As String
 
 myFile = "test" & Format(Range("A1"), "m") & ".xls"

 保存 = Application.Dialogs(xlDialogSaveAs).Show(myFile)

   If 保存 Then
     MsgBox "保存しました"
   Else
     MsgBox "Cancelしました"
   End If
End Sub
'----------------------------------------------


●それから、質問者が何度も提示している
>Application.FileDialog(msoFileDialogSaveAs).InitialFileName = "test" & Format(Range("A1"), "m").xls"
このコードは、Dialog云々以前に、文字列の扱い方にミスのありますよね。
恐らく、タイプミスでしょうが、、、、、

以上です。
 
    • good
    • 0
この回答へのお礼

回答、ありがとうございました。
おかげさまで動くようになりました。
バージョンが違うと使えないマクロがあること
今後は十分に気をつけます。
何かありましたら、またよろしくお願いいたします。

お礼日時:2010/03/03 05:41

回答1,2とも同じ補足をしているということは、


どちらの回答も試さないで、ただ補足だけしているように思えますが。

回答1,2、どちらを試したのでしょうか。
また、試してみての感想は?

先ずそこをコメントするべきでしょう。
補足の件は、それからです。
以上。
 

この回答への補足

書き方が中途半端でごめんなさい。
もちろん、どちらも試させていただいております。
その結果
マクロのはじめに付けていた
Application.FileDialog(msoFileDialogSaveAs).InitialFileName = "test" & Format(Range("A1"), "m").xls"
の部分に
同じエラーが発生したのです。
マクロを変更する前は
この部分にエラーが表示されなかったので
問題ないと思い
質問では省いていました。
本当に申し訳ありませんでした。

補足日時:2010/02/28 23:12
    • good
    • 0

FileDialogオブジェクトは、2002から。



2000ならDialogオブジェクトなどでしょうか。


Dim 保存
保存 = Application.Dialogs(xlDialogSaveAs).Show
  If 保存 = False Then
  MsgBox "Cancelしました"
  Else
  MsgBox "保存しました"
  End If

この回答への補足

申し訳ありません。
書く内容が不足していることに気がつきました。
実際には
Application.FileDialog(msoFileDialogSaveAs).InitialFileName = "test" & Format(Range("A1"), "m").xls"
といったものをはじめに書いていたのです。
要はA1に書いてあるものをファイル名に反映したいのです。
書き足りなくて本当にごめんなさい…

補足日時:2010/02/27 15:37
    • good
    • 0

無いものは無い…。

では寂しいので、
http://park7.wakwak.com/~efc21/cgi-bin/exqaloung …
は?どうでしょう。

この回答への補足

同じことを書かせていただく点
申し訳ありません。
質問に書く内容が不足していることに気がつきました。
実際には
Application.FileDialog(msoFileDialogSaveAs).InitialFileName = "test" & Format(Range("A1"), "m").xls"
といったものを
マクロのはじめに書いていたのです。
要はA1に書いてあるものをファイル名に反映したいのです。
書き足りなくて本当にごめんなさい…

補足日時:2010/02/27 18:22
    • good
    • 0

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