newmanxyz 发表于 2012-4-17 12:49

把VB程序界面内容直接输出成TXT或WORD文件

如何把VB程序界面内容直接全部输出成TXT或WORD文件,求大师们编写程序给分享下{:aa1

newmanxyz 发表于 2012-4-19 09:56

没人给个建议吗?程序的结果在VB窗口界面输出,窗口没有显示出全部结果,一部分内容超出窗口大小不显示了,通过PRINTFORM可以全部打印出来;如果用屏幕剪贴的话,超出的部分就没法剪贴了,只是保存了一部分输出结果。是否可以直接进内存调用界面内容保存?怎么调用内存?请教各位大师,有什么好办法可以直接把界面内容保存或生成为TXT或WORD文件?各位知道的给个程序或建议

simeng 发表于 2012-4-19 19:16

VB将数据保存为TXT文件

Private Sub Command1_Click()
'写文件示例
Dim strFileName As String '文件名
Dim lngHandle As Long '句柄
Dim strWrite As String '要写入的文本内容
strFileName = App.Path & "\a.txt"
''''''''App.Path & "\a.txt"相对路径
''"c:\w.txt"绝对路径
lngHandle = FreeFile() '取得句柄
'准备要写入的内容
strWrite = Text1.Text '或者 strWrite = "这些文字将被写入文件。"
'For后面的参数表示以何种方式打开文件,Input是读取,Output是覆盖写入,Append是追加写入
''''''append是每次在文件末尾写入,不删除其它已经存在的文件.如果换成output则删除其它文件后再写入
''''''print#1,text1.text ''''''如果print换成write则写进txt中后自动加双引号
Open strFileName For Output As lngHandle '打开文件
Print #lngHandle, strWrite '写入文本
Close lngHandle '关闭文件
End Sub
Private Sub Command2_Click()
'读文件示例
Dim strFileName As String '文件名
Dim lngHandle As Long '文件句柄
Dim strAll As String '所读取的文本文件的所有内容
Dim strLine As String '在循环中存放每行的内容
strFileName = App.Path & "\a.txt"
'获得文件的句柄
lngHandle = FreeFile()
'For后面的参数表示以何种方式打开文件,Input是读取,Output是覆盖写入,Append是追加写入
Open strFileName For Input As lngHandle
'循环直到文件尾
Do While Not EOF(lngHandle)
'每次读取一行存放在strLine变量中
Line Input #lngHandle, strLine
'每次读取都把所读到的内容连接到strAll变量,由于Line Input去掉了换行符,所以这里补上
strAll = strAll & strLine & vbCrLf
Loop
'显示得到的全部分内容
MsgBox strAll
End Sub
__________________________________________________________

Private Sub Command1_Click()
Open App.Path & "\a.txt" For Output As #1
Print #1, Text1.Text '这里可以是数据本身也可以是目标控件的属性
Close #1 '关闭打开的文件
End Sub
'For后面的参数表示以何种方式打开文件,Input是读取,Output是覆盖写入,Append是追加写入
''''''append是每次在文件末尾写入,不删除其它已经存在的文件.如果换成output则删除其它文件后再写入
print#1,text1.text ''''''如果print换成write则写进txt中后自动加双引号

newmanxyz 发表于 2012-4-20 07:37

回复 3# simeng
谢谢版主,先学习一下,不懂再请教

newmanxyz 发表于 2012-4-20 07:45

我VB不怎么精通,还想向你请教一下,你说的是取文本框中的内容吧?象我下面的语句中窗口输出的内容怎么取,帮忙编下?
130: Form2.Print
140: Form2.Print Tab(15); "POLE-CHANGING BY CURRENT-REVERSE"
150: Form2.Print
160: Form2.Print Tab(10); "Z="; Z; Tab(20); "Y="; Y; Tab(30); "P2="; P2;
170: Form2.Print Tab(40); "Q2="; N2; "/"; D2; Tab(55); "G2="; G2
180: Form2.Print

newmanxyz 发表于 2012-4-20 07:47

还有在循环语句中循环输出的怎么取?{:1_390:}

newmanxyz 发表于 2012-4-20 07:56

360: For I = 0 To Z / 3 - 1
370: Z6 = Abs(L(I)) + Abs(M(I)) + Abs(U(I))
380: If Z6 + Abs(E(I)) + Abs(F(I)) + Abs(H(I)) = 0 Then GoTo 420
390: FORM2.Print Tab(5); L(I); Tab(13); E(I); Tab(25); M(I);
400: FORM2.Print Tab(33); F(I); Tab(45); U(I); Tab(53); H(I)
410: Next I

lcywzg2008 发表于 2012-4-23 13:31

谢谢版主,先学习一下

wangfei8261 发表于 2012-5-9 11:34

想斑竹学习

newmanxyz 发表于 2012-5-26 07:36

好久没来看了,问题早已经解决了.斑竹提供的程序和其它网站说明一致,可以使用,谢谢{:1_390:}

179361311 发表于 2012-5-31 10:39

学习了 。。。。。。。。。。。。。。

WLCSH 发表于 2013-5-15 01:22

都是高手,向你们学习啊。
页: [1]
查看完整版本: 把VB程序界面内容直接输出成TXT或WORD文件