仪器信息网APP
选仪器、听讲座、看资讯

问题已经解决:让获取的文件名自动递增啊--关于安捷伦气相的数据处理

气相色谱(GC)

  • 重复的操作 希望能做成宏程序 谢谢 都在视频里了:http://pan.baidu.com/s/1mgmnGnQ
    原来我获取文件名是这么写的:还可以复制粘贴
    dim r_1,r_2,r_3 as string
    r_1=inputbox("输入文件1路径")&“report.txt”
    r_2=inputbox("输入文件2路径")&“report.txt”
    ......
    现在文件越来越多了,但是文件夹是有规律的,如何让他们按步长为2的递增呢?


    已经找到解决办法现在发布答案(不一定完美希望各位完善一下) 高手只要看前面就可以了,后面的四段with 可以不用看 都是导入数据的,不会用循环~~见笑了.
    Sub Macro1()
    '
    ' Macro1 Macro
    ' 宏由 LENOVO 录制,时间: 2015-2-25
    '
    ' 快捷键: Ctrl+q
    Sheets("Sheet2").Select
    Dim rep_1, rep_2, rep_3, rep_4, front As String, fso As New FileSystemObject
    If Workbooks.Count > 1 Then MsgBox "慢慢来,先关了其他的excel文件,再整": Exit Sub
    '设置父文件夹路径
    MsgBox "选择有信噪的标液1的文件夹!是文件夹哦"
    With Application.FileDialog(msoFileDialogFolderPicker)
    .AllowMultiSelect = False
    .InitialFileName = "F:\data\"
    .Show
    If .SelectedItems.Count = 0 Then MsgBox "先不整了": Exit Sub
    rep_1 = .SelectedItems(1) & "\REPORT.txt"
    Worksheets("Sheet2").Range("J1").Value = .SelectedItems(1)
    front = fso.getparentfoldername(.SelectedItems(1))
    rep_2 = front & "\" & CStr((Mid(rep_1, Len(front) + 2, 11)) + 2) & ".D" & "\REPORT.txt"
    rep_3 = front & "\" & CStr((Mid(rep_2, Len(front) + 2, 11)) + 2) & ".D" & "\REPORT.txt"
    rep_4 = front & "\" & CStr((Mid(rep_3, Len(front) + 2, 11)) + 2) & ".D" & "\REPORT.txt"
    End With
    With ActiveSheet.QueryTables.Add(Connection:= _
    "TEXT;" & rep_1, Destination:=Range("A1"))
    .Name = "Report1"
    .FieldNames = True
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .RefreshStyle = xlOverwriteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = True
    .RefreshPeriod = 0
    .TextFilePromptOnRefresh = False
    .TextFilePlatform = 936
    .TextFileStartRow = 52
    .TextFileParseType = xlFixedWidth
    .TextFileTextQualifier = xlTextQualifierDoubleQuote
    .TextFileConsecutiveDelimiter = False
    .TextFileTabDelimiter = True
    .TextFileSemicolonDelimiter = False
    .TextFileCommaDelimiter = False
    .TextFileSpaceDelimiter = False
    .TextFileColumnDataTypes = Array(1, 9, 9, 9, 9, 9, 9, 1, 1, 9)
    .TextFileFixedColumnWidths = Array(8, 7, 4, 11, 7, 8, 8, 7, 9)
    .TextFileTrailingMinusNumbers = True
    .Refresh BackgroundQuery:=False
    End With
    With ActiveSheet.QueryTables.Add(Connection:= _
    "TEXT;" & rep_2, Destination:=Range("A10"))
    .Name = "Report2"
    .FieldNames = True
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .RefreshStyle = xlOverwriteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = True
    .RefreshPeriod = 0
    .TextFilePromptOnRefresh = False
    .TextFilePlatform = 936
    .TextFileStartRow = 52
    .TextFileParseType = xlFixedWidth
    .TextFileTextQualifier = xlTextQualifierDoubleQuote
    .TextFileConsecutiveDelimiter = False
    .TextFileTabDelimiter = True
    .TextFileSemicolonDelimiter = False
    .TextFileCommaDelimiter = False
    .TextFileSpaceDelimiter = False
    .TextFileColumnDataTypes = Array(1, 9, 9, 9, 9, 9, 9, 1, 1, 9)
    .TextFileFixedColumnWidths = Array(8, 7, 4, 11, 7, 8, 8, 7, 9)
    .TextFileTrailingMinusNumbers = True
    .Refresh BackgroundQuery:=False
    End With
    With ActiveSheet.QueryTables.Add(Connection:= _
    "TEXT;" & rep_3, Destination:=Range("A20"))
    .Name = "Report3"
    .FieldNames = True
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .RefreshStyle = xlOverwriteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = True
    .RefreshPeriod = 0
    .TextFilePromptOnRefresh = False
    .TextFilePlatform = 936
    .TextFileStartRow = 52
    .TextFileParseType = xlFixedWidth
    .TextFileTextQualifier = xlTextQualifierDoubleQuote
    .TextFileConsecutiveDelimiter = False
    .TextFileTabDelimiter = True
    .TextFileSemicolonDelimiter = False
    .TextFileCommaDelimiter = False
    .TextFileSpaceDelimiter = False
    .TextFileColumnDataTypes = Array(1, 9, 9, 9, 9, 9, 9, 1, 1, 9)
    .TextFileFixedColumnWidths = Array(8, 7, 4, 11, 7, 8, 8, 7, 9)
    .TextFileTrailingMinusNumbers = True
    .Refresh BackgroundQuery:=False
    End With
    With ActiveSheet.QueryTables.Add(Connection:= _
    "TEXT;" & rep_4, Destination:=Range("A28"))
    .Name = "Report4"
    .FieldNames = True
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .RefreshStyle = xlOverwriteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = True
    .RefreshPeriod = 0
    .TextFilePromptOnRefresh = False
    .TextFilePlatform = 936
    .TextFileStartRow = 52
    .TextFileParseType = xlFixedWidth
    .TextFileTextQualifier = xlTextQualifierDoubleQuote
    .TextFileConsecutiveDelimiter = False
    .TextFileTabDelimiter = True
    .TextFileSemicolonDelimiter = False
    .TextFileCommaDelimiter = False
    .TextFileSpaceDelimiter = False
    .TextFileColumnDataTypes = Array(1, 9, 9, 9, 9, 9, 9, 1, 1, 9)
    .TextFileFixedColumnWidths = Array(8, 7, 4, 11, 7, 8, 8, 7, 9)
    .TextFileTrailingMinusNumbers = True
    .Refresh BackgroundQuery:=False
    End With
    Sheets("Sheet1").Select
    MsgBox "处理完成!"
    End Sub
    +关注 私聊
  • 雨木霖

    第1楼2015/06/02

    这么复杂的功能啊。。。
    我们没用到过,一般都是在序列里一个一个设置的

0
    +关注 私聊
  • 化院天使

    第2楼2015/06/02

    我们一般都手动设置的呢,以批号或者日期命名

0
    +关注 私聊
  • titi

    第3楼2015/06/02

    の……弱弱问一下为什么要按照2递增呢?

0
    +关注 私聊
  • zyl3367898

    第4楼2015/06/02

    应助达人

    要获取文件名需要编宏程序吗?不是自动存在电脑上的吗?

0
    +关注 私聊
  • spit_out

    第5楼2015/06/03

    自动获取 不用手动输入啦。以后可以从自动生成的报告中直接获取大量的数据 比如信噪比 含量等等 直接打印输出。如果每天一两个数据当然可以从电脑里自己动手找,但是数据太多了上千个文件一个一个打开关闭,每天这样不崩溃吗?不过谢谢各位关注,已经取得了一些进展,基本半自动化了...继续优化中...希望大神指点

0
    +关注 私聊
  • zyl3367898

    第6楼2015/06/03

    应助达人

    成功后,写成文章来晒晒,有积分奖励。

0
    +关注 私聊
  • 秋醉虞阳

    第7楼2015/06/04

    这个还编程。。。。

0
    +关注 私聊
  • cainiao1

    第8楼2015/06/10

    楼主这个是干什么用的呀?好高大上呀!

0
    +关注 私聊
  • cainiao1

    第9楼2015/06/10

    楼主能告诉我你的宏是怎么编写的吗?

0
    +关注 私聊
  • DeeperBlue

    第11楼2015/10/02

    应助达人

    可否这样(并不按语法):

    dim p_1, p_2, r_1,r_2,r_3 as string
    dim i as integer

    p_1=inputbox("输入文件1路径")
    p_2=inputbox("输入文件2路径")

    i=1

    do while (condition is true)
    r_1=p_1 & i & “report.txt”
    r_2=p_2 & ( i+1) &“report.txt”
    i=i+2
    ... ...
    enddo

0
查看更多
猜你喜欢最新推荐热门推荐更多推荐
举报帖子

执行举报

点赞用户
好友列表
加载中...
正在为您切换请稍后...