- ベストアンサー
ダイアログボックスでファイルを保存する際にファイル名に:が表示される原因とは?
- VB6.0で開発している際に、ダイアログボックスを使用してファイルを保存しようとすると、ファイル名のところに:が表示されます。キャンセルを押すとFalse.xlsという名前で保存されてしまいます。この問題の原因は何でしょうか?
- VB6.0で開発している際に、ダイアログボックスを使用してファイルを保存しようとすると、ファイル名のところに:が表示されます。これにより、キャンセルを押すとFalse.xlsという名前で保存されてしまいます。この問題の原因を教えてください。
- VB6.0で開発している際に、ダイアログボックスを使用してファイルを保存しようとすると、ファイル名のところに:が表示されます。キャンセルを押すとFalse.xlsという名前で保存されてしまいます。この問題の原因について教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
訂正 >ちなみに[名前を付けて保存]ダイアログにFalseと入力した場合False.xlsというファイルが作成されるようだ。 ファイルパスの文字列が返り値になるためで,たとえばデスクトップの場合 C:\Documents and Settings\<ユーザー名>\デスクトップ\False.xls というフルパスが返るからのようだ。(Msgbox関数で戻り値を調べた)
その他の回答 (1)
- himajin100000
- ベストアンサー率54% (1660/3060)
VB6.0を持ってないのでExcel VBAで話をします。 Option Explicit Sub hoge() Dim fnm As String Sheets(1).Name = "Sheet1" Application.Visible = True fnm = Application.GetSaveAsFilename(fileFilter:="Excel ファイル (*.xls), *.xls") SaveAs fnm End Sub http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/vbaxl10/html/xlmthGetSaveAsFilename.asp >ユーザーによって選択または入力されたファイルの名前とパス名を返します。【入力が取り消された場合には False が返されます。】 >このメソッドを実行することによって、カレント ドライブやカレント フォルダが変更される可能性があります。 多分False→文字列"False"への暗黙の型変換が起こったんじゃないかと Sub hoge() Dim fnm As Variant Sheets(1).Name = "Sheet1" Application.Visible = True fnm = Application.GetSaveAsFilename(fileFilter:="Excel ファイル (*.xls), *.xls") If fnm <> False Then SaveAs fnm End If End Sub とかすることでFalseのときにファイルを作成させないことが可能となる。ちなみに[名前を付けて保存]ダイアログにFalseと入力した場合False.xlsというファイルが作成されるようだ。
お礼
ありがとうございます。 ご指摘の通りやったらうまくいきました。 またよろしくお願いします。