找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1252|回复: 1

[原创] 文本文件写非数组

[复制链接]
发表于 2013-6-19 19:31:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×


Public Function 文本文件写非数组(非数组, 文件完整名称 As String, 清除原有内容是1否0, 输入位置HOME或END)
Dim E, f
'这个宏其实应属于一组宏的一部分,这组宏要处理以下情况,输入内容为非数组、一维数组、二维数组、三
'维数组……。而这组宏的变量应有“一维数组, 文件完整名称, 清除原有内容是1否0, 输入位置HOME或END, 二
'维时第一维中相邻元素间回车1制表2”
'由于这组宏比较大,所以先定出大纲,后面慢慢写
'本宏的作用是清除文本文件原有内容再写入一个一维数组。如果数组个数不确定,一定要用动态扩充方法来定义。如果只有一个数组,更要用扩充方法来定义
'是清除文本文件原有内容再写入。另外还要编一个是不清除文本文件原有内容,在原有内容的下面写入
'写入的内容一定要是数组,且应该是二维的,这样才能适应所有情况。
'动态数组的动态扩充使用ReDim Preserve声明方法见底部
Dim D
Dim KKK
Dim JJJ
KKK = 文件完整名称
Dim QQQ
QQQ = 文件是否存在(文件完整名称)
Select Case QQQ
'如果performance等于1则结果为salary乘0.1

Case "可能是文件完整名称但不存在"
      '       MsgBox "A文件不存在"
           
    '       下面代码要增写,即判断该文本文件是否存在,不存在则新建
    '建一个原不存在的文本文件的VBA代码适用于CAD\EXCEL\WORD
     Dim tFile As Object, TSO As Object
     Set TSO = CreateObject("Scripting.FileSystemObject")
     '新建一个原不存在的文本文件
     Set tFile = TSO.CreateTextFile(KKK, True)
     '输入内容
      tFile.Close
     Set tFile = Nothing
     Set TSO = Nothing
           
Case "不是文件完整名称"
            文本文件写非数组 = QQQ
            Exit Function

        Case Else
            
    End Select

非数组 = Replace(非数组, Chr(10), "禺硎嗃")
非数组 = Replace(非数组, Chr(13), "禺硎嗃")
D = Split(非数组, "禺硎嗃")
E = UBound(D, 1)

'可以在一个文本文件最后面另起一行连续反复输入内容的EXCEL的VBA宏代码.
Dim FSO As Object, sFile As Object
Const ForReading = 1, ForWriting = 2, ForAppending = 8, TristateFalse = 0
Set FSO = CreateObject("Scripting.FileSystemObject")

If 清除原有内容是1否0 = 1 Then
'    '下一句并不新建文本文件,而是指明打开文件时操作的方法。第二参数ForWriting是指定删除原内容再写入。如果填ForAppending则是在原内容后面写入
'    Set sFile = FSO.OpenTextFile(KKK, ForAppending, TristateFalse)
   
     '       MsgBox "A文件不存在"
           
    '       下面代码要增写,即判断该文本文件是否存在,不存在则新建
    '建一个原不存在的文本文件的VBA代码适用于CAD\EXCEL\WORD
     
'     Set TSO = CreateObject("Scripting.FileSystemObject")
     '新建一个原不存在的文本文件
'     Set tFile = TSO.CreateTextFile(KKK, True)
'    '下一句并不新建文本文件,而是指明打开文件时操作的方法。第二参数ForWriting是指定删除原内容再写入。如果填ForAppending则是在原内容后面写入

Set sFile = FSO.OpenTextFile(KKK, ForWriting, TristateFalse)
'     '输入内容
'      tFile.Close
'     Set tFile = Nothing
'     Set TSO = Nothing
     
     
     '下一句并不新建文本文件,而是指明打开文件时操作的方法。第二参数ForWriting是指定删除原内容再写入。如果填ForAppending则是在原内容后面写入
   
Else
Set sFile = FSO.OpenTextFile(KKK, ForAppending, TristateFalse)
         
End If



        For f = 0 To E
            '输入内容到文本文件
            
            sFile.WriteLine D(f)
            
            Next f

sFile.Close
Set FSO = Nothing

Set sFile = Nothing

If 文件是否存在(文件完整名称) = "文件存在" Then
    '       MsgBox "A文件存在"
文本文件写非数组 = "已创建"
    '打开文本文件

Shell ("C:\WINDOWS\NOTEPAD.EXE " & KKK)
   
      
Else

'       MsgBox "A文件不存在"
    文本文件写非数组 = "没有创建啊!"

End If

     

End Function
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 221个

财富等级: 日进斗金

发表于 2013-8-5 07:27:36 | 显示全部楼层
楼主免费开放源码了:)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-12-23 00:48 , Processed in 0.381171 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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