最近用VBA编了一个程序,来实现将EXCEL中的数据导出至TXT文件中。程序如下:
Sub Macro1() fno = FreeFile Open "c:\File.txt" For Output As #fno Print #fno, "("; "NUM"; " "; "ITEMA"; " "; "ITEMB"; " "; "ITEMC"; " "; "ITEMD"; ")" Dim n As Integer n = 6
Do Until Cells(n, 2) = "" Print #fno, "("; Cells(n, 2).Value; Cells(n, 3).Value; " "; Cells(n, 4).Value; Cells(n, 14).Value; " "; Cells(n, 44).Value; ")" n = n + 1 Loop Close #fno ' Macro1 Macro ' 宏由 light 录制,时间: 2006-6-17 '
' End Sub 在执行了程序之后,C:\FILE.TXT文件中产生这样的结果:
(NUM ITEMA ITEMB ITEMC ITEMD) ( 1 OPAC1-1-1A .74 三相 EB) ( 2 OPAC1-1-1B .74 三相 EB) ( 3 OPAC1-1-2A 1.1 三相 EB) ( 4 OPAC1-1-2B 1.1 三相 EB) ( 5 OPAC1-1-3A .74 三相 EB) ( 6 OPAC1-1-3B .74 三相 EB) ( 7 SFJ1-1-1 .55 三相 F) ( 8 EFJ1-1-1 .55 三相 F) ( 9 SFJ1-1-2A .55 三相 F) ( 10 SFJ1-1-2B .55 三相 F) ( 11 EFJ1-1-2A .55 三相 F) ( 12 EFJ1-1-2B .55 三相 F) ( 13 EF1-1-2A .37 三相 F) ( 14 EF1-1-1 .37 三相 F) ( 15 EF1-1-2B .37 三相 F) ( 16 SFJ1-1-2C .55 三相 F) ( 17 EFJ1-1-2C .55 三相 F) ( 18 EF1-1-3 .37 三相 F) ( 19 EFJ1-1-3 .55 三相 F) ( 20 SFJ1-1-3 .55 三相 F) ( 21 备用 三相 EB) ( 22 备用 三相 EB) ( 23 备用 三相 EB)
其它正常,只是小于1的小数前的0不见了。如原EXCEL中的0.37和0.55,输出至TXT文件时变成了.37和.55,为什么?还顺便问一下,怎样将EXCEL单元格中的值加双引号输出至TXT文件?谢谢! |