• 如何用vba判断excel的文件格式?

    excel 2003使用的是复合文档文件格式。

    excel 2007(含)开始微软引进了Open XML 文档格式,实际上是ZIP文件格式。

    这两种文件格式都在文件头有特征的标识符。

    比如复合文档文件格式的文件头部的开始有8个字节的特征标识符:0xD0CF11E0A1B11AE1。

    ZIP文件格式的文件头部的开始有4个字节的特征标识符:0x504B0304。

    根据以上[……]

    阅读全文

  • 如何用函数将重复项内容依次列出?

    如下图所示

    需要用函数公式将“标题A”字段下的项目“张三”对应的“标题B”字段的内容依次单独列出,可以采用以下的步骤:

    1. 找出“标题A”字段下的所有项目“张三”对应的位置,这里是第2、4、7行。
    2. 根据找到的位置,按照从小到大的顺序依次读取对应的“标题B”字段的内容。

    对于步骤1,可以使用以下公式完成:

    阅读全文

  • 如何在vba中使用api函数GetOpenFileName选择打开文件?

    api函数GetOpenFileName可以弹出一个打开对话框,通过打开对话框可以选择一个或者多个文件打开。

    但是实际上并未真正打开文件,而是获取要打开文件的完整路径、文件名等信息。

    它的C++语法如下:

    VB语法如下:

    其中lpofn参数是一个O[……]

    阅读全文

  • 什么是原码、反码、补码?

    计算机中表示数值有以下几种形式:

    原码表示法(Signed magnitude representation) :

    把最高位设置为0,表示正数或者+0,把最高位设置为1,表示负数或者-0,其余二进制位表示数值的绝对值大小。其中最高位被称为符号位。

    反码表示法(Ones’ complement):最高位也是符号位,0表示正数,1表示负数,负数是将正数的二进制位取反。对于0有两种不同[……]

    阅读全文

  • 如何用vba复粘贴文件?

    vba中提供了FileCopy语句可以直接复制文件。

    它的语法如下:

    其中source参数为要复制的文件,destination参数为复制后的文件。

    代码如下:

    如果source参数表示的文件不存在会报错。

  • 如何用vba在字节流中查找指定的字节数组?

    如何在vba中读取任意文件的字符流或者字节流? 一文中介绍了读取任意文件的字节流的方法。

    在很多时候我们需要在文件的字节流中查找具体的字节数组,这时候可以使用instrB函数返回具体的字节数组在字节流中的位置。

    它的语法如下:

    其中start参数表示开始查找的起始位置,string1参数表示被查找的内容,strin[……]

    阅读全文

  • 如何在vba中读取任意文件的字符流或者字节流?

    任何一个文件都是以字节的形式存储。

    任何一个文件都可以使用Open语句打开进行读写操作。

    当以Input 或者 Binary 模式用Open语句打开文件时,可以使用Input函数或者InputB函数读取打开的文件的字符流或者字节流,代码如下:

     

  • 什么是vba中的文件号(file number)?

    在vba中,对于文件读写操作都需要先用Open语句打开文件。

    Open语句的语法如下:

    其中参数filenumber指的就是文件号,它是一个从1到511的整数。

    文件号是对打开的文件进行读写操作时的标识符,用于唯一标识打开的文件。

    在vba中,有很多的与文件读写操作相关的函数或者语句都需要使用文件号作为参数。[……]

    阅读全文

  • 如何用vba批量加密保护excel工作表?

    通过保护excel工作表,可以防止他人修改工作表内容。

    在vba中可以使用Worksheet对象的Protect方法保护工作表。

    它的语法如下:

    Protect方法的所有参数都是可选的,连Password参数也可以不提供,表示没有设置密码保护excel工作表。

    以下是批量用密码1234保护工作表的代码:
    [c[……]

    阅读全文

  • 如何用vba拼接不同的字节数组?

    不同的字节数组如果要拼接成一个完整的数组,可以借组adodb.stream对象。

    利用adodb.stream对象将不同的数组写入一个空流,然后将流另存为一个文本文件,或者整体读取。

    代码如下: