Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2734|回复: 5

[已解决]导入文本分隔符的判定问题

[复制链接]
发表于 2015-1-4 19:05 | 显示全部楼层 |阅读模式
导入文本分隔符的判定问题:

        '.TextFileTabDelimiter = True 'tab键为分隔符
        '.TextFileCommaDelimiter = True   '逗号为分隔符
        '.TextFileSpaceDelimiter = True    '空格为分隔符
        'TextFileSemicolonDelimiter=true'分号作为分隔符


但是如果我要找:/ 作为分隔符, [作为分隔符,其代码是什么?

最佳答案
2015-1-4 22:41
张雄友 发表于 2015-1-4 19:33
不行的。

Sub 导入()
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    With Application.FileDialog(msoFileDialogFolderPicker)
        .InitialFileName = ThisWorkbook.Path & "\"
        If .Show = False Then Exit Sub
        FilePath = .SelectedItems(1) & "\"
    End With
    FileName = Dir(FilePath & "*.txt")
    For Each sh In Sheets
        If sh.Name <> "get" Then sh.Delete
    Next
    Do Until Len(FileName) = 0
        Sheets.Add after:=Sheets(Sheets.Count)
        ActiveSheet.Name = Left(FileName, Len(FileName) - 4)
        With ActiveSheet.QueryTables.Add(Connection:= _
            "TEXT;" & FilePath & FileName, Destination:=Range( _
            "$A$1"))
         .TextFileOtherDelimiter = "/"
        .TextFileTrailingMinusNumbers = True
        .TextFileColumnDataTypes = Array(2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, _
        2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2)
        .Refresh BackgroundQuery:=False
        S = [a1]
        If InStr(S, "?") <> 0 Then
            [a1] = Split(S, "?")(1)
        End If
    End With
    FileName = Dir
Loop
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
发表于 2015-1-4 19:21 | 显示全部楼层
本帖最后由 JLxiangwei 于 2015-1-4 19:23 编辑

Selection.TextToColumns Other:=True, OtherChar:="/"

Selection.TextToColumns Other:=True, OtherChar:="]"
回复

使用道具 举报

 楼主| 发表于 2015-1-4 19:33 | 显示全部楼层
JLxiangwei 发表于 2015-1-4 19:21
Selection.TextToColumns Other:=True, OtherChar:="/"

Selection.TextToColumns Other:=True, OtherCha ...

不行的。

不行.rar

8.64 KB, 下载次数: 2

回复

使用道具 举报

发表于 2015-1-4 22:41 | 显示全部楼层    本楼为最佳答案   
张雄友 发表于 2015-1-4 19:33
不行的。

Sub 导入()
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    With Application.FileDialog(msoFileDialogFolderPicker)
        .InitialFileName = ThisWorkbook.Path & "\"
        If .Show = False Then Exit Sub
        FilePath = .SelectedItems(1) & "\"
    End With
    FileName = Dir(FilePath & "*.txt")
    For Each sh In Sheets
        If sh.Name <> "get" Then sh.Delete
    Next
    Do Until Len(FileName) = 0
        Sheets.Add after:=Sheets(Sheets.Count)
        ActiveSheet.Name = Left(FileName, Len(FileName) - 4)
        With ActiveSheet.QueryTables.Add(Connection:= _
            "TEXT;" & FilePath & FileName, Destination:=Range( _
            "$A$1"))
         .TextFileOtherDelimiter = "/"
        .TextFileTrailingMinusNumbers = True
        .TextFileColumnDataTypes = Array(2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, _
        2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2)
        .Refresh BackgroundQuery:=False
        S = [a1]
        If InStr(S, "?") <> 0 Then
            [a1] = Split(S, "?")(1)
        End If
    End With
    FileName = Dir
Loop
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
回复

使用道具 举报

 楼主| 发表于 2015-1-5 06:23 | 显示全部楼层
JLxiangwei 发表于 2015-1-4 22:41
Sub 导入()
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False

TextFileColumnDataTypes = Array(2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, _
        2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2)
TextFileColumnDataTypes 属性,2表示文本? 1难道表示常量??


百度怎么找不到其相关介绍的?VB  F1也没有。


乱码的??????????????????????????????????????????????
360截图20150104225948312.jpg

不行.rar

11.04 KB, 下载次数: 1

回复

使用道具 举报

发表于 2015-1-5 08:57 | 显示全部楼层
张雄友 发表于 2015-1-5 06:23
TextFileColumnDataTypes = Array(2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, _
...

QQ截图20150105085300.jpg
文件导入乱码是因为文件的编码格式不对,将原来的TXT文件保存为ANSI格式就OK了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-19 19:37 , Processed in 0.208570 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表