- ベストアンサー
EXCEL VBA EXCEL2000で「ファイルを開く」を表示させる
- EXCELで、「ファイルを開く」を表示させようとしています。
- EXCEL2000ではエラーになるため、どちらでも使えるコマンドを教えていただけますか?
- 【ハッシュタグ】EXCEL #VBA #ファイルを開く
- みんなの回答 (8)
- 専門家の回答
質問者が選んだベストアンサー
#3 の回答者です。 >Sub Test2のほうを試したところパスが見つかりません とエラーが出ますが、どういったことなのでしょう 今、調べてみましたが、「\」(パスセパレータ)を抜くと、いけないのでした。こちらには、ないパスだったので、いい加減に書いてしまいました。 Const ファイルの場所 = "C:Users" '場所 ↓ Const ファイルの場所 = "C:\Users" '場所
その他の回答 (7)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 #6のお礼の部分。 >後にそのファイルを開きたいのですが開きません。 (パス名は、例のように直していただければよいのですが) 'MsgBox fName Workbooks.Open fName '行の先頭にある、コメントブロック(')は、外してくださいね。Excel2000でテストはされています。
- mitarashi
- ベストアンサー率59% (574/965)
#1です。 コードをご確認下さい。お礼の項に書かれた通りの動作をする、ファイル名取得までのサンプルコードです。 ご質問の内容から、XL2000の生の情報を提供すれば十分と判断させていただきました。
- Wendy02
- ベストアンサー率57% (3570/6232)
>いまは2003でやっているので、あとは実際に2000で試してうまくいけば解決です。 こちらでは、Excel 2000 で、作動試験しましたから、たぶん大丈夫です。(フォルダの名称は、実際は、C:\Temp などで試して、元に書いたものに戻すとき、ミスしました。(^^; すみません。)
お礼
何度もお答えしていただきありがとうございます Sub2でもうまく言ったと思ったのですが、ファイル名は取得できていますが、最後にそのファイルを開きたいのですが開きません。 Sub1のほうでは開く要になっているのですが。 教えていただけますか。
- imogasi
- ベストアンサー率27% (4737/17069)
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)
こんばんは。 ご質問のマクロをそのまま移せば、こんなところでしょうね。 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 )を使うかと思います。
お礼
ご回答ありがとうございます。 Sub Test1の方はうまく開きました。 Sub Test2のほうを試したところパスが見つかりません とエラーが出ますが、どういったことなのでしょう。
- xls88
- ベストアンサー率56% (669/1189)
FileDialog オブジェクトを使えるのは2002からのようですよ。 FileDialog オブジェクトの使用 http://msdn.microsoft.com/ja-jp/library/cc326127.aspx
- mitarashi
- ベストアンサー率59% (574/965)
以下、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
お礼
ご回答ありがとうございます。 試したところ、ファイルを選択し、メッセージボックスに選択したファイル名は出ましたが、実際にファイルが開かれることがありませんでした…。
お礼
早速お返事いただいてありがとうございます。 うまくいきました。 エラーの原因はフィルの場所のところでしたか。 わたしも、もう少し注意深く見てからお尋ねすればよかったですね。 でも、良い回答をありがとうございました。 いまは2003でやっているので、あとは実際に2000で試してうまくいけば解決です。 ありがとうございました。