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

一个方法关于批量导出荧光光谱仪数据

  • 红蓝微笑
    2013/11/25
  • 私聊

分子荧光光谱

  • 在使用Perkin-elmerLS55荧光光谱仪,使用FL WinLab4.00工作站,有批量导出数据到Origin里做图的需要。但网络上遍寻,未见好方法。

    通常的做法分以下两个步骤:

    1。用FL WinLab4.00 一次性打开15个(最多)*.sp二进制数据文件,save as 选择存成ascII文件。在这个过程里要移动鼠标指针,并点四次鼠标。这样的操作要重复15/批。如果文件多的话,不得不说是个考验人耐性的事情。

    2。依次用记事本打开另存的ASCII文件,将前面的54行文件头去掉,再另存。这样的ASCII文件才可批量导入Origin进行绘图。

    以上两步重复去做,一点问题没有。但完全重复的工作对于我这样的懒人来说,实在是受罪。




    所以,我想把重复性的工作尽可能教给电脑去做,才有了下面的这个不算太完善的方法。

    1。针对将原.sp二进制数据转为ASCII的过程,简化起来就是移动鼠标,左键点击,移动鼠标,左键点击……。利用按键精灵录制VisualBasic ScriptVB脚本),然后做成精灵小助手就可以了。方法简单,针对不同分辨率的屏幕修改容易,并且精灵小助手界面背景图片,文字内容可以自定义,满足个性化需求。

    内容如下:

    Delay 100
    MoveTo 125, 290
    LeftClick 1
    MoveTo 126, 329
    LeftClick 1
    MoveTo 71, 332
    LeftClick 1
    MoveTo 540, 135
    LeftClick 1
    Delay 500


    以上代码适用于1280*800分辨率,重复粘贴15次即可。

    2。与上述通常做的第2步不同的是,批量去54行文件头,复制光谱数据到Excel。使用的是Excel内置的开发工具之VisualBasic,也就是建立并修改宏。此方法无文件个数的限制,但对系列内数据文件命名要求有规律性。

    宏代码如下:

    Sub 1()
    '
    '
    1
    '
    ChDir "D:\ASC_DATA" ‘
    存放ASII文件的位置。
    For i = 1 To 9 '
    我的数据系列文件以01开头,所以01-09这九个文件需放在一起处理。
    Workbooks.OpenTextFilename:="D:\ASC_DATA\SA_I_BSA_syn#0" & (i) &".sp", Origin:= _
    936, StartRow:=55, DataType:=xlDelimited,TextQualifier:=xlDoubleQuote, _
    ConsecutiveDelimiter:=True, Tab:=True,Semicolon:=False, Comma:=False, _
    Space:=True, Other:=False,FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3 _
    , 1), Array(4, 1)), TrailingMinusNumbers:=True '
    ASCII文件的第55行读起,即去文件头。原文件的列以空格隔开。
    Range("B:B").Select '
    只选择光谱数据列
    Selection.Copy
    Windows("12.xlsx").Activate ‘
    要保存光谱数据的表格文件。文件名可随使用习惯修改。
    Cells(1, i).Select
    ActiveSheet.Paste
    Application.DisplayAlerts = False
    Windows("SA_I_BSA_syn#0" & (i) &".sp").Activate
    ActiveWindow.Close
    Application.DisplayAlerts = True
    Next i

    For i = 10 To 11
    Workbooks.OpenTextFilename:="D:\ASC_DATA\SA_I_BSA_syn#" & (i) &".sp", Origin:= _
    936, StartRow:=55, DataType:=xlDelimited,TextQualifier:=xlDoubleQuote, _
    ConsecutiveDelimiter:=True, Tab:=True,Semicolon:=False, Comma:=False, _
    Space:=True, Other:=False,FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3 _
    , 1), Array(4, 1)), TrailingMinusNumbers:=True
    Range("B:B").Select
    Selection.Copy
    Windows("12.xlsx").Activate
    Cells(1, i).Select
    ActiveSheet.Paste
    Application.DisplayAlerts = False
    Windows("SA_I_BSA_syn#" & i &".sp").Activate
    ActiveWindow.Close
    Application.DisplayAlerts = True
    Next i
    End Sub








    红框是注意要与自己的情况一致,要修改。



    几点声明:

    1. 以上方法适用于懒,且喜欢折腾的人。

    2. 感谢上面提到的仪器及软件公司。

    3. VB是个好东西,其用途不仅限于上述,针对其它需要重复做的任务应大有可为。

    4. 不要求版权鬼东西,可随意转载,修改使用。但对后果不承担责任。

    5. 有事可联系 shilywzz@163.com。会尽力回复。论坛内短信无效。
  • 该帖子已被版主-秋月芙蓉加10积分,加2经验;加分理由:原创鼓励
    +关注 私聊
  • 红蓝微笑

    第1楼2013/11/25

    Shit,居然发错版面了。烦请版主帮忙移至分子荧光区。
    念及初犯,请不要扣分了吧

0
    +关注 私聊
  • wulin321

    第2楼2013/12/03

    应助达人

    类似的可以自己试试

0
    +关注 私聊
  • dlin22

    第3楼2014/03/08

    有FL winlab4.00安装软件吗?求一份。

0
    +关注 私聊
  • hnteng

    第4楼2014/04/10

      我这有一份。

      安装时要求做到以下两点:

      1只能安装在默认目录C:\FL Winlab下面.

      2 安装好之后,双击软件包中的FLInstall2000XP程序.

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

执行举报

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