電子書籍の厳選無料作品が豊富!

いつもありがとうございます。
組み込みダイアログボックスについて教えてください。
エクセルのシート内容をCSV形式で保存する場合、組み込みダイアログボックスを使い、下記のマクロでうまく行きました。

Sub CSV保存()
'~略~
Application.Dialogs(xlDialogSaveAs).Show ARG2:=6 '~略~
End Sub

試した結果、上記の組み込みダイローグのファイルの種類のデフォルトは ARG2:=の次の値が6でcsv、1でエクセルになるようでした。

次に、エクセルを開いた状態でCSVファイルを開こうと思い、同様に組み込みダイアローグを使用するため下記のマクロを作りました。ところがうまくいきません。

Sub CSVdata取得()
Application.Dialogs(xlDialogOpen).Show ARG2:=6
End Sub

・・・・と記述するとエラーになります。
この場合、どうも ARG2:=6の6の数字のところが4以上はエラーとなるようです。
ARG2:=の次の値を1~3にするとエラーにはなりませんが、デフォルトはいずれもエクセルでした。
最初からファイルの種類をCSV形式にするにはどう記述したらよいのでしょうか?
どうかお助けください。

A 回答 (4件)

>Application.Dialogs(xlDialogOpen).Show arg1:="*.csv"



これではまずいのですか?
とりあえずファイルの種類は「テキストファイル」になるみたいですが。

ファイル名を空白のままにしておきたいのですかね?

この回答への補足

>とりあえずファイルの種類は「テキストファイル」になるみたいですが。

ファイル名は、*.csvと表示されるんですが、その下のファイルの種類はエクセルのまま変らないんですよ~。
もちろんそこでCSVを選ぶことは出来ますが。
そしていちどCSVを選ぶと次回もCSVになったままなんですよ。

補足日時:2003/07/30 14:44
    • good
    • 0

No.2ですが、ごめんなさい。

違ったみたい。

ARG2:=6 の替わりということで Show(file_text) と思ったけど違いますね。

Application.Dialogs(xlDialogOpen).Show("*.csv")

Application.Dialogs(xlDialogOpen).Show arg1:="*.csv"
は同じだと思いますが、これではダメなのですか?
CSVだけ表示されますが・・・

この回答への補足

> CSVだけ表示されますが・・・

あれえ!ほんとですねえ。
ダイアローグボックスの「ファイルの種類(T)」がエクセルファイルのままになっていたので気づきませんできたが、表示されてるファイルはちゃんとCSVになってましたね!

ということは実用上これで問題はありません。
ファイル種類のところは無視しちゃえばいいわけですもんね。
ありがとうございました。

補足日時:2003/07/30 15:26
    • good
    • 0

Application.Dialogs(xlDialogOpen).Show(file_text)



でいいと思いますが・・・

この回答への補足

ありがとうございます。
やってみましたがダイアローグのファイルの種類のデフォルトはエクセルのままでした。

補足日時:2003/07/30 14:35
    • good
    • 0

組み込みのダイアログボックス


 Application.Dialogs~
では、ファイルの種類を指定することはできません。


その代わり、
 Application.GetOpenFilename~
を使うと、指定することができます。
ただし、その場合は、開く処理を自前で用意する必要があります。

[例]

Sub CSVdata取得()
Dim strFileName As String

 strFileName = Application.GetOpenFilename(FileFilter:="CSVファイル (*.csv), *.csv")
 MsgBox strFileName '確認

End Sub

この回答への補足

昨日(CSV形式での保存)に引き続き、またまたありがとうございます。
いろいろ試行錯誤を重ね、

Application.Dialogs(xlDialogOpen).Show arg1:="*.csv"

で、ファイル名のところに「*.csv」を表示させるところまでは行ったのですが、ファイルの種類はやはり無理ですか。無理ならApplication.GetOpenFilenameでやるしかないですね。開く処理を自前で用意できるかやってみます。
ありがとうございました。

補足日時:2003/07/30 14:11
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!