xlVBA生成通讯录文件

Public Sub QqYunContactTransferCsvFile()
‘应用程序设置
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Application.Calculation = xlCalculationManual

    ‘错误处理
    ‘On Error GoTo ErrHandler

    ‘计时器
    Dim StartTime, UsedTime As Variant
    StartTime = VBA.Timer

    ‘变量声明
    Dim Wb As Workbook
    Dim Sht As Worksheet
    Dim Rng As Range
    Dim Arr As Variant
    Dim EndRow As Long
    Const SplitCount As Long = 100
    Dim RecordIndex As Long
    Dim FileCount As Long
    Dim EachLine As String
    Dim WholeLine As String
    Dim i As Long, j As Long
    Dim HeadLine As String

    ‘实例化对象
    Set Wb = Application.ThisWorkbook

    Set Sht = Wb.Worksheets("通讯录")

    With Sht
        EndRow = .Cells(.Cells.Rows.Count, 1).End(xlUp).Row
        Set Rng = .Range("A1:Y" & EndRow)
        Arr = Rng.Value
        RecordIndex = 0
        FileCount = 0
        HeadLine = ""
        For j = LBound(Arr, 2) To UBound(Arr, 2)
            HeadLine = HeadLine & """" & Arr(1, j) & ""","
        Next j
        WholeLine = HeadLine

        For i = LBound(Arr) + 1 To UBound(Arr)
            RecordIndex = RecordIndex + 1
            EachLine = ""
            For j = LBound(Arr, 2) To UBound(Arr, 2)
                EachLine = EachLine & """" & Arr(i, j) & """," ‘有双引号
                ‘EachLine = EachLine & Arr(i, j) & ","‘无双引号
            Next j
            WholeLine = WholeLine & EachLine & vbCrLf

            If RecordIndex Mod SplitCount = (SplitCount - 1) Or i = UBound(Arr) Then ‘生成文件的条件
                FileCount = FileCount + 1
                Open Wb.Path & "\" & FileCount & ".csv" For Output As #1     ‘生成CSV文件
                Print #1, WholeLine   ‘写入CSV的内容
                Close #1    ‘关闭文件句柄
                WholeLine = HeadLine
            End If

        Next i
    End With

    ‘运行耗时
    UsedTime = VBA.Timer - StartTime

ErrorExit:        ‘错误处理结束,开始环境清理
    Set Wb = Nothing
    Set Sht = Nothing
    Set Rng = Nothing

    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    Application.Calculation = xlCalculationAutomatic
    Exit Sub
ErrHandler:
    If Err.Number <> 0 Then
        MsgBox Err.Description & "!", vbCritical, "错误提示!"
        ‘Debug.Print Err.Description
        Err.Clear
        Resume ErrorExit
    End If
End Sub

  

时间: 2024-12-19 02:35:31

xlVBA生成通讯录文件的相关文章

使用javah生成.h文件, 出现无法访问android.app,Activity的错误的解决

在工程ndk22/bin/classes中 运行javah  com.cn.ndk22.Ndk22.Activity ,出现了.h文件 我在bin/classes目录中 ,就是无法访问, : 错误:无法访问android.app.Activity 找不到android.app.Activity 如下图所示 于是我cmd定位到ndk/src,中运行 javah com.heima.ndk.ndkActivity, 成功了就能成功了 ...我也不知道为什么.,如下图 总结:  使用javah生成.h

实现的乐趣——生成一批文件的批处理程序

生成一批文件的批处理程序 最近在看一个系列的教程,然后肯定要记笔记的是吧. 本是按部就班每看完一个视频建立一个文件记录笔记的,可天不如人意,断网了.趁着无事就想把那些笔记文件都先建立起来.但是课程有点多,一个个新建有点麻烦,就想到了批处理,这个操作文件so easy的语言. 实现的代码如下: rem 创建一批文件 @echo off cls echo. & echo Initialize... set filepath=%cd% set filetype=txt set beg=1 set en

python- 按照日期格式(xxxx-xx-xx)每日生成一个文件

请按照这样的日期格式(xxxx-xx-xx)每日生成一个文件,例如今天生成的文件为2013-09-23.log, 并且把磁盘的使用情况写到到这个文件中. #!/usr/bin/env python #!coding=utf-8 import time import os new_time = time.strftime('%Y-%m-%d') //time.strftime()可以用来获得当前时间,可以将时间格式化为字符串 disk_status = os.popen('df -h').read

用matlab生成mif文件

module rom_ip( clk,data, rst_n ); input clk; input rst_n; output [7:0] data; reg [7:0] add; rom_ip_mif rom_ip_mif_inst ( .address ( add ), .clock ( clk ), .q ( data ) ); always @(posedge clk or negedge rst_n) if(!rst_n)begin add <= 8'd0; end else if(

(Unity)Unity自定义Debug日志文件,利用VS生成Dll文件并使用Dotfuscated进展混淆,避免被反编译

Unity自定义Debug日志文件,利用VS生成Dll文件并使用Dotfuscated进行混淆,避免被反编译. 1.打开VS,博主所用版本是Visual Studio 2013. 2.新建一个VC项目,选择类库,取名为JefferyChan,具体步骤如下图: 3.因为要调用Unity中的相关文件,所以这里要引入外部文件.首先在Unity的安装文件夹中找到UnityEngine.dll,我的路径是:D:\Program Files (x86)\Unity\Editor\Data\Managed 如

thinkphp整合系列之tcpdf类生成pdf文件

php生成pdf文件的需求是不怎么常见的:当然也是有的: 既然已经整合使用了:那就写篇博客来讲解下吧: 示例项目:http://git.oschina.net/shuaibai123/thinkphp-bjyadmin 一:引入tcpdf /ThinkPHP/Library/Vendor/Tcpdf 把tcpdf整个目录拷到自己的项目中: 二:函数 /Application/Common/Common/function.php /** * 生成pdf * @param  string $html

使用XML序列化器生成XML文件和利用pull解析XML文件

首先,指定XML格式,我指定的XML格式如下: <?xml version='1.0' encoding='utf-8' standalone='yes' ?> <message> <sms> <body> 陈驰0 </body> <date> 1462162910995 </date> <address> 1380 </address> <type> 1 </type> &

用include()和ob_get_contents( )方法 生成静态文件

1. 生成静态文件可以在打开缓冲区的前提下,用include()方法去包含要执行的动态文件,这样该动态文件就会在缓冲区中执行,执行完毕后的静态HTML代码就保存在缓冲区中,然后用ob_get_contents()方法去获取缓冲区中的内容,(注意:在获取缓冲区内容的前提是一定要打开缓冲区ob_start();),将这些内容保存到一个字符串中,再将该字符串写入到文件中即可. <?php header("Content-type: text/html; charset=UTF-8");

Java生成Excel文件

1.设计源码 /** * * @title:ExcelUtils.java * @Package:com.you.utils * @Description:<h3>一句话描述功能</h3> * @author:游海东 * @date:2015-3-21下午10:17:34 * @version V1.0 * */ package com.you.utils; import java.io.File; import java.io.IOException; import jxl.Wo