[[20190404120815]] 『テキストファイルウィザードの省略』(えくせるさん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『テキストファイルウィザードの省略』(えくせるさん)

テキストファイルウィザードに関して質問です。
取り込んだデータがいつも,:で区切られているため、通常にファイルを開くだけではデータが区切られず、使い物になりません。
これはテキストファイルウィザードで回避できるのですが、全ファイルをいつもテキストファイルウィザードを経由して開くのは手間でしかありません。

こういったファイルの区切り方をエクセルに覚え込ませる方法はありませんでしょうか。
マクロを組むのもてかと思いましたが、毎度マクロを通すのも面倒なので可能な限り避けたいです。

レジストリの書き換えとかでなんとかならないでしょうか。

よろしくお願いします。

< 使用 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.