Board logo

标题: [文本处理] 批处理怎样将文档内的每一行内容,输出到打印机并在显示器上面回显? [打印本页]

作者: mvklmvkl    时间: 2012-7-17 17:57     标题: 批处理怎样将文档内的每一行内容,输出到打印机并在显示器上面回显?

1.如何将EXCEL文档内的几排的内容    (如学员:姓名 学号:数字  转成单行形式的TXT文档内容)  就单一个姓名跟学号 为一行, 下面的跟着对齐

2.然后将转换过来的TXT文档,每一行的姓名和学号 打印到已经定好模版格式的宣传纸张上面(所以最好能自定义姓名和学号的打印位置),打印完成一个就在屏幕返回信息
作者: forfiles    时间: 2012-7-17 18:01

能否把你的原文档和转换之后的文档压缩一下传上来做个例子,大家好测试代码。
作者: mvklmvkl    时间: 2012-7-17 18:11

回复 2# forfiles


    好的,我举一份!!
作者: CrLf    时间: 2012-7-17 19:54

不太明白“逐行打印”的要求
纯批不能读 excel,写个按顶楼规则将 excel 转为范本格式 txt 的 vbs:
  1. path = "C:\Users\Administrator\Desktop\vbs\EXCEL例子.xls"
  2. Set exc = CreateObject("excel.application")
  3. exc.Visible = False
  4. exc.Workbooks.Open(path)
  5. exc.Worksheets(1).Activate
  6. h=exc.ActiveSheet.UsedRange.Rows.Count
  7. l=exc.ActiveSheet.UsedRange.Columns.Count
  8. For i=2 To h
  9.     For j=1 To l
  10.         val = exc.Cells(i,j)
  11.         If Trim(val)="" Then
  12.             str = str & vbNewLine
  13.         Else
  14.             str = str & val & Space(12-Lenb(val))
  15.         End If
  16.     Next
  17.     str = str & vbNewLine
  18. Next
  19. Set fso = CreateObject("Scripting.FileSystemObject")
  20. Set ts = fso.CreateTextFile(path & ".txt",1,ture)
  21. ts.Write str
  22. ts.Close
  23. exc.Quit
复制代码
学网上的,不过测试有效
作者: mvklmvkl    时间: 2012-7-17 21:12

回复 4# CrLf


   你好,逐行打印就是,将每一行的姓名 和 学号 经打印机打出来,因为那些打印的纸张已经印刷好模版,只要在每一张纸张打印上一个学员的名字和学号就行了
作者: mvklmvkl    时间: 2012-7-18 00:30

继续求教!!
作者: mvklmvkl    时间: 2012-7-18 00:34

衷心期待,大家的帮助,感谢万分!
作者: mvklmvkl    时间: 2012-7-18 14:12

继续等,等到高手为止
作者: cjiabing    时间: 2012-7-18 15:29

有一两个doc转txt的工具,转换成后txt后,用for处理就可以了。
作者: CrLf    时间: 2012-7-19 02:07

表示不知“模板”长什么样,没办法定位。

批处理打印的话就是这样:
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in (要打印的.txt) do (
  3.   if defined last (
  4.      echo !last!&echo %%a
  5.      set "last="
  6.    )>prn else set last=%%a
  7. )
  8. ::两行两行打印文本
复制代码
  1. print 要打印的.txt
  2. ::整文本打印
复制代码
但不知通用性如何,vbs 的话则是:
  1. path = "C:\Users\Administrator\Desktop\vbs\EXCEL例子.xls"
  2. Set exc = CreateObject("Excel.Application")
  3. exc.Visible = False
  4. exc.Workbooks.Open(path)
  5. exc.Worksheets(1).Activate
  6. exc.ActiveSheet.Printout
  7. exc.Quit
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2