[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『テキストファイルウィザードの省略』(えくせるさん)
テキストファイルウィザードに関して質問です。
取り込んだデータがいつも,:で区切られているため、通常にファイルを開くだけではデータが区切られず、使い物になりません。
これはテキストファイルウィザードで回避できるのですが、全ファイルをいつもテキストファイルウィザードを経由して開くのは手間でしかありません。
こういったファイルの区切り方をエクセルに覚え込ませる方法はありませんでしょうか。
マクロを組むのもてかと思いましたが、毎度マクロを通すのも面倒なので可能な限り避けたいです。
レジストリの書き換えとかでなんとかならないでしょうか。
よろしくお願いします。
< 使用 Excel:Excel2016、使用 OS:Windows10 >
テキストファイルを作成するソフト側で、 区切り文字を , にして、ファイル拡張子を CSVにしてもらえば、 何の手間もかけずに解決ですよ。 (でれすけ) 2019/04/04(木) 12:57
全部の区切りを , にしてもらえたらありがたいですよね! こっちもcsvのくせにtabで区切ってくるアプリがあって困ったことがありました。
んで、CSVでも全部ってわけにはいかないと思うので、以下のような感じでどうでしょう? 1)個人用マクロブックの(PERSONAL.XLSB)のThisworkbookモジュールに以下のコードを入れてください。 2)csvを(拡張子が違う場合は、 Like "*.csv" を書き換えてください)開くと、事前に設定した種類で区切ります。 3)あとは自動で開いたCSVを閉じて、新しいブックを作成し、テキストウィザードで取り込みます。 Option Explicit Public WithEvents xApp As Application 'Applicationオブジェクトのイベントをキャッチする。 Private Sub Workbook_Open() Set xApp = Application End Sub Private Sub xApp_WorkbookOpen(ByVal wb As Workbook) Dim wbPath As String Dim qtwb As Workbook Dim qt As QueryTable If wb.name Like "*.csv" Then If MsgBox("CSVファイルをテキストウィザードで取り込みますか?", vbYesNo) = vbYes Then wbPath = wb.FullName wb.Close False Set qtwb = Workbooks.Add On Error Resume Next Do Set qt = qtwb.Sheets(1).QueryTables.Add(Connection:="TEXT;" & wbPath, Destination:=Range("Sheet1!$A$1")) If Not qt Is Nothing Then Exit Do Loop On Error GoTo 0 'ここから↓の設定は、自分でマクロの記録取ってはどうでしょう? With qt .name = Dir(wbPath) .TextFilePlatform = 932 .TextFileParseType = xlDelimited .TextFileCommaDelimiter = True .TextFileOtherDelimiter = ":" .RefreshStyle = xlOverwriteCells .Refresh .Delete End With End If End If End Sub
(稲葉) 2019/04/04(木) 13:24
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.