- ベストアンサー
VBAのSaveFileNamePathメソッド
VBAでタブ区切りのテキストファイルを作成しようと思い Application.GetSaveAsFilenameメソッドを使用しています。 FileType = "txt ファイル (*.txt),*.txt" Application.GetSaveAsFilename(fileName, FileType, , Prompt) という風にしたところスペース区切りのテキストファイルが作成されてしまいます。 第2引数のFileTypeにタブ区切りのテキストファイルを指定したいのですが、 どうすればタブ区切りにできるかが解りません。 どなたかアドバイス下さい。 お願いいたします。
- hwbigin
- お礼率28% (41/143)
- Visual Basic
- 回答数2
- ありがとう数0
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>第2引数のFileTypeにタブ区切りのテキストファイルを指定したいのですが、 >どうすればタブ区切りにできるかが解りません。 Application.GetSaveAsFileNameは、単にダイアログですから、本当は別の方法もあるのですが、どう考えても、そのコードのFileTypeのところは、FileFilterですから、それは無理なような気がします。 簡単なコードなので、作ってしまいました。ただし、上書きチェックはありません。 当然、エラー回避はしていません。 Sub Test1() Dim iFileName As String Dim FileName As Variant Dim FileType As String iFileName = "Test1.txt" FileType = "txt ファイル (*.txt),*.txt" FileName = Application.GetSaveAsFilename(iFileName, FileType) If VarType(FileName) = vbBoolean Then Exit Sub ActiveSheet.Copy With ActiveWorkbook .SaveAs FileName, xlCurrentPlatformText 'xlText .Close False End With End Sub
その他の回答 (1)
- bin-chan
- ベストアンサー率33% (1403/4213)
ファイルタイプって ・エクセルワークブック(*.xls) ・CSVファイル(*.csv) の2通りだけじゃなかったですか?
関連するQ&A
- vbaでテキストファイル(*.txt)を取込みたい
vba初心者です。 Application.Dialogs(xlDialogOpen).Showで選択したテキストファイル(***.txt)をテキストファイルウィザードで、タブ、カンマ、スペース区切りで、エクセルファイルに取り込むマクロを組みたいのですが? 何度やってもうまくいきません。 ご教示願えないでしょうか! excel2002を使用してます。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- EXCEL2007のVBAを使って、テキストファイルを読み込んで別のテ
EXCEL2007のVBAを使って、テキストファイルを読み込んで別のテキストファイルを作って書き込むというコードを書きましたが、新しく出来たテキストファイルの末尾に、もともとのファイルには無かったスペースが追加されてしまいます。 原因と対策を教えて頂きたいです。 ------------------------------------------------------- Dim FileName1 As String Dim FileName2 As String Dim FileNumber1 As Integer Dim FileNumber2 As Integer Dim Data As String FileName1 = Application.GetOpenFilename("Text Files (*.txt), *.txt") FileName2 = Application.GetSaveAsFilename(, "Text Files (*.txt), *.txt") Data = Space(FileLen(FileName1)) FileNumber1 = FreeFile Open FileName1 For Binary As #FileNumber1 Get #FileNumber1, , Data Close #FileNumber1 'この間に"Data"内容を処理するコードを入れる予定 FileNumber2 = FreeFile Open FileName2 For Binary As #FileNumber2 Put #FileNumber2, , Data Close #FileNumber2 ------------------------------------------------------- このコードで1284バイトのテキストを読み込ませると末尾にスペースが追加されて1918バイトになってしまいました。 "Data"の内容を表示させてもスペースはなく、Len関数で大きさを調べても1284バイトです。
- ベストアンサー
- Visual Basic
- VBAでタブ区切りテキストの保存に関して
VBAでタブ区切りテキストの保存のプログラムを書くためには Application.DisplayAlerts = False Sheets("sheet01").Copy ActiveWorkbook.SaveAs Filename:="D:\test.txt", FileFormat:=xlText ActiveWindow.Close Application.DisplayAlerts = True という記述が一般的に使われます。 いま、あるプログラムでexcelシート上に title subtitle 001 002 003 333 444 555 666 777 888 ような内容が書き込まれたものをタブ区切りで出力したいのですが、 上記の方法で出力すると、 titleやsubtitleと書かれた行の右側にも空白のタブ区切りが一緒に保存されてしまいます。 あるプログラムで読み込ませるためには、 この二つの行のタブ区切りをいちいち消す必要があり、毎回手作業でするのは面倒です。 VBAでこのようなタブ区切りの有無を行ごとに指定して保存するようなことは可能でしょうか?
- ベストアンサー
- Visual Basic
- EXCEL VBAでカンマ区切りテキストファイルに変換する方法
EXCELで作成したシートをVBAでカンマ区切りテキストファイル(CSVファイルではなく)に変換する方法を教えてください 下記のプログラムではテキストファイルに変換されますが、カンマ区切りになりませんでした。 Sub Samp() ActiveWorkbook.SaveAs Filename:="C:\WINDOWS\aa.txt", FileFormat _ :=xlText, CreateBackup:=False End Sub
- ベストアンサー
- Visual Basic
- Excel 名前を付けて保存のVBA
名前を付けて保存画面を表示して、自分でファイル名を入力して保存をしたいのですが、 以下で名前を付けて保存画面は表示されますが、 実際に保存をクリックしてもファイルが作成されませんでした。 保存されるVBAを教えてください。 Sub test() Save_Filename = "c:\" Save_File = Application.GetSaveAsFilename(Save_Filename, _ FileFilter:="Excelファイル,*.xls") End Sub
- ベストアンサー
- その他MS Office製品
- VBAでのcsv読み込みについて
VBA初心者です。テキストファイル(ファイルの中はカンマ区切り)を別なEXCELシートではなくて、VBAを実行したEXCEL内のシート(例えばSheet2)に落としたいのですが、うまくいきません。 Workbooks.OpenText Filename:="C:\csv_test.txt", StartRow:=1, DataType:=xlDelimited, Comma:=True~ と記述すれば、別シートには落ちるのですが・・・。 簡単なことかもしれませんが、ご回答よろしくお願いいたします。
- ベストアンサー
- Visual Basic
- EXCELにテキストファイルを読込むマクロ作成
EXCELにテキストファイルを「カンマ区切り」で読み込みしたいのですが、 下記マクロの内容ではカンマ区切りで正しくインポートされないのですが 作成方法ご伝授お願いいたします。 sub macro1() dim myFile as string myfile = application.getopenfilename(filefilter:="テキストファイル(*.txt),*.txt") if myfile = "False" then exit sub workbooks.opentext _ filename:=myfile, _ datatype:=xldelimited, _ textqualifier:=xltextqualifierdoublequote, _ tab:=true, _ comma:=true, _ space:=true ’予備 activeworkbook.worksheets(1).move before:=thisworkbook.worksheets(1) end sub
- ベストアンサー
- オフィス系ソフト
- ExcelでtxtファイルをVBAで読み込む方法
スペース区切りのテキストファイル(拡張子はtxt)が有ります。 データは、数字ですが上桁には0が入っています。 00001 0003 010222 302033 00025 等のデータです。 このファイルを、ウイザードを使わずにVBAにて直接文字列(テキスト)として読み込むコマンドを失念してしまいました。 教えて下さい。宜しくお願い致します。
- ベストアンサー
- オフィス系ソフト
- エクセルマクロでファイルオープンでシートカットが使えない
エクセルマクロでファイルオープンでシートカットが使えない エクセルのVBAマクロについて教えて下さい。 ”Application.GetSaveAsFilename”にてファイルを指定して、”Workbooks.OpenText Filename”にてファイルをオープンするときに、”Application.GetSaveAsFilename”にて指定したファイルがシートカットの時にエラーで停止する。 もし、”Application.GetSaveAsFilename”が実際のファイルの場合には、エラーで停止しない。 ■実際のVBA aFile = Application.GetSaveAsFilename(InitialFileName:=TaskF & "\" & "*.xls", FileFilter:="Excel(xls)ファイル (*.xls),*.xls") Workbooks.OpenText Filename:=aFile ←左記の箇所でエラー停止する。
- ベストアンサー
- オフィス系ソフト
- VBAでMSアクセスに、Tab区切りのテキストを入力できますか??
VBAでMSアクセスに、Tab区切りのテキストを入力できますか?? VBAの「DoCmd.TransferText acImportDelim・・・」を使って、 「,」カンマ区切りテキストファイルをインポーしようとしても、 フィールドが一つになってしまいます。 テキストファイルのTabを,に変えると、正常に読めます。 Tab区切りのままで、DoCmd.TransferText ・・・ を使って、正常に 読み込みできるでしょうか?? ご教示をお願いします。
- ベストアンサー
- その他(データベース)