| すぐマク YNxv916 | Home | Search | Contents | Gallery | Introduction | Service | Support | What's New! |
| テキストファイルウィザードを起動させずに開きたいが? |
|
|
||||||||||||||||||||||||||||
Application.Dialogs(xlDialogOpen).Showを実行すると「ファイルを開く」ダイアログボックスが表示されるので、ファイルの種類とファイル名を選択して[開く]ボタンをクリックします。![]() ![]() それを受けたExcelは、ファイルの種類に「テキストファイル」が選択されているので、「テキストファイルウィザード」を起動してダイアログボックスを表示します。その理由は、さらに細かい設定を可能にするためです。あなたの場合は、初期値を変更する必要がないしクリックも面倒だから、このダイアログボックスを表示させたくないのですね。 テキストファイルウィザードを起動させずにテキストファイルを開くには、OpenTextメソッドを使えば可能ですが、くわしい説明に入る前に、確認しておきたい事項があります。 それは、このメソッド を使うと「ファイルを開くダイアログボックス」が表示されなくなることです。質問文だけでは、はっきりとわかりませんが、 '多数のファイルを開く場合' に、ユーザーがいちいち、ファイル名を選択しているのではないでしょうか。つまり、表示された「ファイルを開くダイアログボックス」で、ハンド操作していませんか。 もし、そうだとすれば、OpenTextメソッドを使うためには、ファイル名を取得するマクロを別に用意しなければなりません。その方法は色々ありますが、ここでは割愛します。 【 OpenTextメソッド 】 このメソッドは、テキストファイルを分析して1枚のシートに読み込み、新しいブックとして開いてくれます。 構文は次のとおりです。 expression.OpenText(Filename, Origin, StartRow, DataType, TextQualifier, ConsecutiveDelimiter, Tab, Semicolon, Comma, Space, Other, OtherChar, FieldInfo, DecimalSeparator, ThousandsSeparator) 引数の一覧表 |
||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
|
構文はむつかしそうに見えますが、標準的なテキストファイルを開く場合は、殆んどの引数は省略できます。 質問の場合は、次のとおり簡単なマクロで済むと考えられます。なお、すでに説明済みですがファイル名を取得するマクロを、これに付加してください
'=========================================================================================
Sub テキストファイルを開く()
Dim ファイル名 As String
Dim データ形式 As Variant
Dim 区切りタブ As Variant
ファイル名 = "C:\My Documents\Tamesi.txt" 'ドライブ、フォルダ、ファイル名は適宜記入
データ形式 = xlDelimited 'データは区切り文字で区切られている
区切りタブ = True '区切り文字にタブを使う
Workbooks.OpenText Filename:=ファイル名, DataType:=データ形式, tab:=区切りタブ
End Sub
'=========================================================================================
|
| http://www.happy500z.com/ | Home | Contents | Gallery | Introduction | Service | Support | What's New! |