
こんにちは,
EXCEL2007 VBAを用いて
ワークブックオープン時にファイル選択ダイアログを表示しています。
GetOpenFileName("日報ファイル(*.CSV),*.CSV",false)
上記は拡張子*.CSVでフィルタを掛けていますが、
ファイル名を絡めてフィルタを掛けることはできないのでしょうか?
日報ファイルなら*day.CSV,月報なら*month.CSVといった様に・・・
GetOpenFileName("日報ファイル(*day.CSV),*day.CSV",false)
上の様にすると*.*となりフィルタがかかりません。
ファイル選択ダイアログのファイル名のところに*day.CSVと手入力すれば
フィルタがかかります。これをVBAから行えないでしょうか?
よろしくお願いいたします。
No.4ベストアンサー
- 回答日時:
こんにちは。
私は、今の段階で、Excel 2007 をインストールすることできない(併用すると誤動作の恐れがあるから)ので、はっきりしたことは言えません。もう、これ以上は、実際に、2007 のVBA上で、やってみないとわかりません。
最終的にできるかどうかは、ファイルオープンダイアログで、手動で可能なのかどうか、ということに係っていると思うのです。これは、あくまでも、ファイルオープンダイアログだけの問題で、できなければ、UserForm など、他のものを使ったりして、それはそれで手段はあるのですが。
お世話になります。
結局、上手くいきませんでしたのでファイル種別ごとにフォルダを
分けました。
メニュー(リボン)の操作なども変わっているので悪戦苦闘です。
長々とお付き合い有難うございました。
No.3
- 回答日時:
こんばんは。
ひとつだけ気になるのは、
Application.Dialogs(xlDialogOpen).Show("*day.csv")
一体、どのような、エラーが返るのでしょうか?
Dim Ret As Variant
Ret = Application.Dialogs(xlDialogOpen).Show("*day.csv")
ではダメでしょうか?
Dialogs Object (2007) ↓
参考URL:http://msdn2.microsoft.com/en-us/library/bb22374 …
この回答への補足
おつきあい&URLありがとうございます。
エラーが出るのではなく、オープンダイアログは表示されますがフィルターがセットされません。
"*day.csv"どころか"*.CSV","*.XLSなど通常のフィルタすらかかりませんでした。
(ダイアログのファイル種別はデフォルトで、ファイル名はブランクです)
戻り値を返す様にしても同様です。ちなみに実行時の戻り値は正常でした。(選択でTrue、キャンセルでFalse)
もう少し悩んでみます。
No.2
- 回答日時:
こんばんは。
フィルタを掛けるだけでよいなら、以下のようにすればよいです。
With Application.Dialogs(xlDialogOpen)
.Show "*day.csv"
End With
ご回答ありがとうございます。
Application.Dialogs(xlDialogOpen).Show("*day.csv")
ためしてみましたがだめでした。
ちなみにExcel2000で試すとちゃんとファイル名のところにセットされました。
普通に
Application.Dialogs(xlDialogOpen).Show("*.csv")
でやってもうまくいかないので2007固有の問題かな?
No.1
- 回答日時:
> GetOpenFileName("日報ファイル(*.CSV),*.CSV",false)
GetOpenFileName("日報ファイル(*.CSV),*.CSV",,,,false)
ではないでしょうか。
ご返答ありがとうございます。
この関数のパラメータは省略しても大丈夫な様です。
Application.GetOpenFileName("日報ファイル(*day.CSV),*day.CSV",,,,false)
(Applocationが抜けてました。すみません。)
念のため試してみましたがやはりだめでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) VBAで特定の場所にあるCSVファイル(複数)から特定場所を抜き出してExcelに転記したいです。 11 2023/05/23 16:29
- Visual Basic(VBA) VBA初心者です。電話番号の数字の前に0を表示させたいです。 2 2022/12/14 03:58
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Access(アクセス) CSVファイルの「0落ち」にVBA 6 2023/02/02 15:27
- Visual Basic(VBA) エクセルVBAについて 8 2022/07/13 22:41
- Excel(エクセル) CSVファイルでVBAを動かす方法 3 2023/04/04 10:22
- その他(プログラミング・Web制作) データ解析ソフトRでのファイル入力read.csvがエラーになります 7 2022/03/27 22:11
- Excel(エクセル) Excelについて。 Excelからcsv変換したいのですが、 やり方はファイル→名前をつけて保存→ 7 2022/07/27 01:10
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Google ドライブに意図しないフ...
-
拡張子sfvってなんですか?
-
ChatGPT excel
-
AUTOCAD
-
【マクロ】売上一覧YYYYMMDDHHS...
-
メールに添付ファイル(エクセ...
-
誰か聞いてください。 社会人6...
-
開かなくなった引き出しの開け方
-
"~$[ファイル名].xlsx"というフ...
-
ギガファイル便で送ったzipファ...
-
VBA:ユーザーフォームのマルチ...
-
odtのファイルが開けません
-
A4ファイルを綺麗に並べる方法...
-
「最小化」したファイルが元の...
-
WPSスプレッドシートでエラー。...
-
ファイルシステムがNTFSだとexF...
-
拡張子TKM
-
exeファイルの中身を見ることは...
-
windows11におけるファイルの並...
-
windowsでpkgファイルを開きた...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Google ドライブに意図しないフ...
-
VBA 数値を文字列として貼付したい
-
VBA:ユーザーフォームのマルチ...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
メールに添付ファイル(エクセ...
-
cerファイル、pfxファイルの基...
-
ChatGPT excel
-
AUTOCAD
-
「最小化」したファイルが元の...
-
ISO9001
-
plgファイルの開き方
-
拡張子sfvってなんですか?
-
開かなくなった引き出しの開け方
-
WPSスプレッドシートでエラー。...
-
A4ファイルを綺麗に並べる方法...
-
BVE5で湖西線をプレイしたい
-
"~$[ファイル名].xlsx"というフ...
-
FlukeのLANテスター flwファイ...
-
ギガファイル便で送ったzipファ...
-
「ファイルをロックできません...
おすすめ情報