ここから本文です

解決済みのQ&A

【Access2007】ファイル選択ダイアログボックスが表示されない(裏に隠れる)

miya05_05_kimura_tatsuyaさん

【Access2007】ファイル選択ダイアログボックスが表示されない(裏に隠れる)

Access初心者の者です。

Access2000の以下コードでファイル選択ダイアログを実装しました。
2000,2003上では正常に動作するのですが、2007では前面に表示されず、
[Alt]+[Tab]キーを押すことによって表示されます。(裏に隠れている?)
この事象を解決する方法をご存知の方はご教示頂ければと思います。

■ファイルダイアログ
Private Sub cmdFileOpen1_Click()

txtInputFile1.Value = Nz(xlGetOpenFileName(0), txtInputFile1.Value)

End Sub


Public Function xlGetOpenFileName(open_type As Integer) As Variant

Dim objXL As New Excel.Application
Dim FileName As Variant ' ファイル名
Dim file_filter As String

Select Case open_type
Case 0
file_filter = "Microsoft Excelファイル(*.xls),*.xls"
Case 1
file_filter = "カンマ区切りファイル(*.csv),*.csv"
Case 2
file_filter = "Microsoft Accessファイル(*.mdb),*.mdb"
Case Else
file_filter = "すべてのファイル(*.*)"
End Select

FileName = objXL.GetOpenFilename(file_filter)

objXL.Quit
Set objXL = Nothing

xlGetOpenFileName = IIf(FileName = False, Null, FileName)

End Function

  • 質問日時:
    2010/3/18 11:22:40
  • 解決日時:
    2010/3/24 18:15:25
  • 閲覧数:
    8,660
    回答数:
    1

ベストアンサーに選ばれた回答

hatena1989さん

下記の方法を試してみたらどうでしょうか。

Windows APIを用いてファイルを開く方法
http://www.accessclub.jp/samplefile/samplefile_78.htm

ファイルを開くダイアログボックスを利用する方法 - Officeライブラリー
http://www.accessclub.jp/samplefile/samplefile_159.htm


念のために補足
上記のOfficeライブラリーのコードですが、2007で使えるようにするには、バージョンチェックの部分を書き直す必要かあります。

If Returnvalue = "10.0" Or Returnvalue = "11.0" Then



If Returnvalue = "10.0" Or Returnvalue = "11.0" Or Returnvalue = "12.0" Then

  • 違反報告
  • 編集日時:2010/3/18 12:09:05
  • 回答日時:2010/3/18 11:48:30

質問した人からのお礼

  • 感謝上手くいきました!!!
    ありがとうございました。
  • コメント日時:2010/3/24 18:15:25

グレード

Q&Aをキーワードで検索:

総合Q&Aランキング

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。

知恵コレに追加する

閉じる

知恵コレクションをするID/ニックネームを選択し、「追加する」ボタンを押してください。
※知恵コレクションに追加された質問や知恵ノートは選択されたID/ニックネームのMy知恵袋で確認できます。

ほかのID/ニックネームで利用登録する