• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCEL VBA EXCEL2000で「ファイルを開く」を表示させる)

EXCEL VBA EXCEL2000で「ファイルを開く」を表示させる

このQ&Aのポイント
  • EXCELで、「ファイルを開く」を表示させようとしています。
  • EXCEL2000ではエラーになるため、どちらでも使えるコマンドを教えていただけますか?
  • 【ハッシュタグ】EXCEL #VBA #ファイルを開く

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.5

#3 の回答者です。 >Sub Test2のほうを試したところパスが見つかりません とエラーが出ますが、どういったことなのでしょう 今、調べてみましたが、「\」(パスセパレータ)を抜くと、いけないのでした。こちらには、ないパスだったので、いい加減に書いてしまいました。 Const ファイルの場所 = "C:Users" '場所   ↓ Const ファイルの場所 = "C:\Users" '場所

hiro_ele
質問者

お礼

早速お返事いただいてありがとうございます。 うまくいきました。 エラーの原因はフィルの場所のところでしたか。 わたしも、もう少し注意深く見てからお尋ねすればよかったですね。 でも、良い回答をありがとうございました。 いまは2003でやっているので、あとは実際に2000で試してうまくいけば解決です。 ありがとうございました。

その他の回答 (7)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.8

こんにちは。 #6のお礼の部分。 >後にそのファイルを開きたいのですが開きません。 (パス名は、例のように直していただければよいのですが) 'MsgBox fName Workbooks.Open fName '行の先頭にある、コメントブロック(')は、外してくださいね。Excel2000でテストはされています。

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.7

#1です。 コードをご確認下さい。お礼の項に書かれた通りの動作をする、ファイル名取得までのサンプルコードです。 ご質問の内容から、XL2000の生の情報を提供すれば十分と判断させていただきました。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.6

>いまは2003でやっているので、あとは実際に2000で試してうまくいけば解決です。 こちらでは、Excel 2000 で、作動試験しましたから、たぶん大丈夫です。(フォルダの名称は、実際は、C:\Temp などで試して、元に書いたものに戻すとき、ミスしました。(^^; すみません。)

hiro_ele
質問者

お礼

何度もお答えしていただきありがとうございます Sub2でもうまく言ったと思ったのですが、ファイル名は取得できていますが、最後にそのファイルを開きたいのですが開きません。 Sub1のほうでは開く要になっているのですが。 教えていただけますか。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

FileDialogを使えるのはエクセル2002からのようです。 http://www.happy2-island.com/bbs/bbs.cgi?mode=view&no=874 (この方はプロフィールを見てください。VBAの本を沢山書いておられる方です) http://park7.wakwak.com/~efc21/cgi-bin/exqalounge.cgi?print+200707/07070027.txt >2000以前では使えません。 ココにはApplication.Dialogs(xlDialogOpen).の引数の指定なども載っています。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんばんは。 ご質問のマクロをそのまま移せば、こんなところでしょうね。 Sub Test1() Dim OrgDir As String Const ファイルの場所 = "C:\Users" '場所 OrgDir = CurDir ChDir ファイルの場所   Application.Dialogs(xlDialogOpen).Show "*.csv" ChDir OrgDir End Sub 一般的には、 GetOpenFilename を使い Sub Test2() Const タイトル = "ファイルを開く" Const ファイルの場所 = "C:Users" '場所 Const フィルタ1a = "CSV" '種類 Const フィルタ1b = "*.csv" '拡張子 Dim fName As String Dim orgDir As String  orgDir = CurDir  ChDir ファイルの場所    fName = Application.GetOpenFilename(フィルタ1a & "," & フィルタ1b, 1, タイトル)  If fName <> "False" Then   MsgBox fName   'Workbooks.Open fName  End If  ChDir orgDir End Sub なお、Access 2000 ~は、通常、CommonDialog (Microsoft Common Dialog Control 6.0 )を使うかと思います。

hiro_ele
質問者

お礼

ご回答ありがとうございます。 Sub Test1の方はうまく開きました。 Sub Test2のほうを試したところパスが見つかりません とエラーが出ますが、どういったことなのでしょう。

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.2

FileDialog オブジェクトを使えるのは2002からのようですよ。 FileDialog オブジェクトの使用 http://msdn.microsoft.com/ja-jp/library/cc326127.aspx

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.1

以下、Excel2000のヘルプより CopyRight Microsoft GetOpenFilename メソッドの使用例 次の使用例は、ファイルを開くときに表示されるダイアログ ボックスで、ファイルの種類をテキスト ファイルに限定して表示します。ファイル名を選択すると、そのファイル名がメッセージ ボックスに表示されます。 fileToOpen = Application _ .GetOpenFilename("テキスト ファイル (*.txt), *.txt") If fileToOpen <> False Then MsgBox "選択されたファイル : " & fileToOpen End If なんでしたら、APIを使う方法もあります。 Access2000はこれのお世話にならないといけない... http://www.accessclub.jp/samplefile/samplefile_78.htm

hiro_ele
質問者

お礼

ご回答ありがとうございます。 試したところ、ファイルを選択し、メッセージボックスに選択したファイル名は出ましたが、実際にファイルが開かれることがありませんでした…。

関連するQ&A