1. '*******************************************************************************
  2. ' 固定長形式テキストファイルを読み込むサンプル(改行なし)
  3. '
  4. ' 作成者:井上治 URL:http://www.ne.jp/asahi/excel/inoue/ [Excelでお仕事!]
  5. '*******************************************************************************
  6. ' [参照設定]
  7. ' ・Microsoft Scripting Runtime
  8. '*******************************************************************************
  9. Option Explicit
  10. ' レコードの項目定義
  11. Private Type typREC
  12. CODE As String * ' コード
  13. MAKER As String * ' メーカー
  14. HINMEI As String * ' 品名
  15. SURYO As String * ' 数量
  16. TANKA As String * ' 単価
  17. KINGAKU As String * ' 金額
  18. ' CRLF As String * 2 ' 改行コード分のダミー項目
  19. End Type
  20.  
  21. '*******************************************************************************
  22. ' 固定長形式テキストファイルを読み込むサンプル(改行なし)
  23. ' 参照設定:(未使用)
  24. '*******************************************************************************
  25. Sub READ_FixLngFile2()
  26. Const cnsFILENAME = "\SAMPLE2.dat"
  27. Const cnsLNGS = ' レコード長
  28. Dim strFileName As String ' ファイル名
  29. Dim intFF As Integer ' FreeFile
  30. Dim lngLOF As Long ' LOF値
  31. Dim lngPOS As Long ' 読み込み位置
  32. Dim GYO As Long ' 収容するセルの行
  33. Dim tmpREC As typREC ' レコード定義
  34. Dim strREC As String ' レコードを収容する変数
  35.  
  36. ' 指定ファイルをOPEN(入力モード)
  37. strFileName = ThisWorkbook.Path & cnsFILENAME
  38. intFF = FreeFile
  39. Open strFileName For Binary As #intFF
  40. lngLOF = LOF(intFF) ' LOF値(ファイルサイズ)取得
  41. lngPOS = ' 読み込み位置
  42. ' 2行目から開始
  43. Rows("2:65536").ClearContents
  44. GYO =
  45. Do Until lngPOS > lngLOF
  46. ' レコードの読み込み
  47. Get #intFF, lngPOS, tmpREC
  48. ' 1レコード分のセルへのセット
  49. '-----------------------------------------------------------------------
  50. ' A列(コード)は5バイトの文字列処理
  51. Cells(GYO, ).Value = Trim(tmpREC.CODE)
  52. ' B列(メーカー)は10バイトの文字列処理
  53. Cells(GYO, ).Value = Trim(tmpREC.MAKER)
  54. ' C列(品名)は15バイトの文字列処理
  55. Cells(GYO, ).Value = Trim(tmpREC.HINMEI)
  56. ' D列(数量)は4バイトの数値処理
  57. Cells(GYO, ).Value = CCur(tmpREC.SURYO)
  58. ' E列(単価)は6バイトの数値処理
  59. Cells(GYO, ).Value = CCur(tmpREC.TANKA)
  60. ' F列(金額)は8バイトの数値処理
  61. Cells(GYO, ).Value = CCur(tmpREC.KINGAKU)
  62. '-----------------------------------------------------------------------
  63. ' 読み込み位置を加算
  64. lngPOS = lngPOS + cnsLNGS
  65. ' 行を加算
  66. GYO = GYO +
  67. Loop
  68. ' 指定ファイルをCLOSE
  69. Close #intFF
  70. End Sub
  71.  
  72. '-----------------------------<< End of Source >>-------------------------------

【Excel】读取固定长文本的更多相关文章

  1. 【Excel】输出固定长文本

    '******************************************************************************* ' 固定長形式テキストファイル書き出す ...

  2. SpringBatch Sample (四)(固定长格式文件读写)

    前篇关于Spring Batch的文章,讲述了Spring Batch 对XML文件的读写操作. 本文将通过一个完整的实例,与大家一起讨论运用Spring Batch对固定长格式文件的读写操作.实例延 ...

  3. C#读取固定文本格式的txt文件

    C#读取固定文本格式的txt文件 一个简单的C#读取txt文档的程序,文档中用固定的格式存放着实例数据. //判断关键字在文档中是否存在 ] == "设备ID:107157061" ...

  4. ABAP读取长文本的方法

    SAP中所有的项目文本都存在以下两张数据表中: 1. STXH  抬头项目文本 透明表 2. STXL  明细项目文本   透明表 长文本读取方法 首先在STXH和STXL中根据OBJECT NAME ...

  5. smartforms长文本处理方式

    因为长文本的话不好换行,在smartforms中对于长文本的处理有两种:一种是自定义文本模板,自己定义好的文本格式,然后再使用的时候再文本类型中选择文本模板,最好是勾上如果没有文本存在怎无错误.这种方 ...

  6. ABAP程序中关于长文本的处理方法

    现象描述 长文本在SAP的运用主要体现在一些notes的记录,或者一些比较长的文本的存取,比如工作流的审批意见,采购申请和采购订单的附加说明等等.如下图: 处理过程 1:SAP中所有的长文本都存在两张 ...

  7. 利用poi包装一个简单的Excel读取器.一(适配一个Reader并提供readLine方法)

    通常,读文本我们会使用BufferedReader,它装饰或者说管理了InputStreamReader,同时提供readLine()简化了我们对文本行的读取.就像从流水线上获取产品一样,每当取完一件 ...

  8. Bert不完全手册9. 长文本建模 BigBird & Longformer & Reformer & Performer

    这一章我们来唠唠如何优化BERT对文本长度的限制.BERT使用的Transformer结构核心在于注意力机制强大的交互和记忆能力.不过Attention本身O(n^2)的计算和内存复杂度,也限制了Tr ...

  9. css截断长文本显示

    实现 截断长文本显示处理,以前是通过后台的截取,但这种方法容易丢失数据,不利于SEO. 而通过前端css的截断,则灵活多变,可统一运用与整个网站. 这项技术主要运用了text-overflow属性,这 ...

随机推荐

  1. instanceof详解

    instanceof 用于确定一个 PHP 变量是否属于某一类 class 的实例: <?php class MyClass { } class NotMyClass { } $a = new ...

  2. Egret 项目文件夹配置和基本容器、动画

    Egret 项目文件夹配置和基本容器.动画: class Main extends egret.DisplayObjectContainer { //src是resource codede 缩写,所有 ...

  3. redis的主从服务器配置

    1. redis的主从配置: (1)把redis的配置文件(reids.conf)拷贝2份 [root@192 redis]# cp redis.conf redis6380.conf [root@1 ...

  4. Vue(二十一)使用express模拟接口数据

    1.下载express ... 2.使用vue-cli下载好项目文件 ... 3.找到文件 build - webpack.dev.conf.js 'use strict' const utils = ...

  5. 【LCA】求和VII @北京OI2018

    目录 求和VII PROBLEM 题目描述 输入 输出 样例输入 样例输出 提示 SOLUTION CODE 求和VII PROBLEM 时间限制: 2 Sec 内存限制: 256 MB 题目描述 m ...

  6. 国际化之Android设备支持的语种

    昨天发了关于iOS支持的语种,文章最后也补了安卓支持语种列表.但最后发现安卓设备支持跟它列的有出入,我重新完全手工整理了一遍. 我将对应的语种在安卓的语言列表里的显示,也全部逐一列出来了,方便大家到时 ...

  7. [web 前端] css3 transform方法常用属性

    cp from : https://www.cnblogs.com/chrxc/p/5126569.html css3中transform方法是一个功能强大的属性,可以对元素进行移动.缩放.转动.拉长 ...

  8. C# MemoryCache GCHandle

    MemoryCache在项目中用了很久,感觉比较简单,以前也看过里面的源代码,主要借用MemoryCacheStore来完成数据的存储,里面是线程安全的,MemoryCacheStore借用Hasht ...

  9. 解决TextView drawableRight左侧图片大小不可控的问题

    通过代码来修改图片的大小: Drawable rightDrawable= context.getResources().getDrawable(R.drawable.more); rightDraw ...

  10. Win10系统的SurfacePro4的启动菜单太多怎么管理,UEFI的启动菜单如何编辑

    有时候多增加了一些硬盘版的PE,会出现下面这种问题,启动项目太多又删不掉(如果你硬盘版的PE修改了文件位置,这个选项还进不去)   关机之后,按开机键和音量+,进入Surface的启动菜单,直接删除原 ...