找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 27040|回复: 9

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

[复制链接]
发表于 2012-7-17 17:57:24 | 显示全部楼层 |阅读模式
1.如何将EXCEL文档内的几排的内容    (如学员:姓名 学号:数字  转成单行形式的TXT文档内容)  就单一个姓名跟学号 为一行, 下面的跟着对齐

2.然后将转换过来的TXT文档,每一行的姓名和学号 打印到已经定好模版格式的宣传纸张上面(所以最好能自定义姓名和学号的打印位置),打印完成一个就在屏幕返回信息
发表于 2012-7-17 18:01:16 | 显示全部楼层
能否把你的原文档和转换之后的文档压缩一下传上来做个例子,大家好测试代码。
 楼主| 发表于 2012-7-17 18:11:20 | 显示全部楼层
回复 2# forfiles


    好的,我举一份!!
发表于 2012-7-17 19:54:51 | 显示全部楼层
不太明白“逐行打印”的要求
纯批不能读 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
复制代码
学网上的,不过测试有效
 楼主| 发表于 2012-7-17 21:12:27 | 显示全部楼层
回复 4# CrLf


   你好,逐行打印就是,将每一行的姓名 和 学号 经打印机打出来,因为那些打印的纸张已经印刷好模版,只要在每一张纸张打印上一个学员的名字和学号就行了
 楼主| 发表于 2012-7-18 00:30:32 | 显示全部楼层
继续求教!!
 楼主| 发表于 2012-7-18 00:34:44 | 显示全部楼层
衷心期待,大家的帮助,感谢万分!
 楼主| 发表于 2012-7-18 14:12:07 | 显示全部楼层
继续等,等到高手为止
发表于 2012-7-18 15:29:04 | 显示全部楼层
有一两个doc转txt的工具,转换成后txt后,用for处理就可以了。
发表于 2012-7-19 02:07:47 | 显示全部楼层
表示不知“模板”长什么样,没办法定位。

批处理打印的话就是这样:
  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
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 01:32 , Processed in 0.020067 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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