文章目录

  • 1 什么是VBA
  • 2 宏
    • 2.1 打开Excel的开发工具功能
    • 2.2 初级宏
    • 2.3 使用相对引用
    • 2.4 制作工资条
    • 2.5 添加表单控件
  • 3 VBA
    • 3.1 VBA编码语法
    • 3.2 变量
      • 3.2.1 定义变量
      • 3.2.2 变量名的命名规则
      • 3.2.3 变量的赋值
    • 3.3 数据类型
    • 3.4 常量
    • 3.5 运算符
      • 3.5.1 算术操作符
      • 3.5.2 比较运算符
      • 3.5.3 逻辑运算符
      • 3.5.4 连接操作符
      • 3.5.5 运算符优先级
    • 3.6 MsgBox
    • 3.7 获取要操作的数据表
    • 3.8 单元格的基本操作
    • 3.9 三大结构
      • 3.9.1 顺序结构
      • 3.9.2 选择结构
      • 3.9.3 循环结构
    • 3.10 数组
      • 3.10.1 数组的创建
      • 3.10.2 数组元素的操作
      • 3.10.3 利用循环对数组元素进行赋值和遍历
      • 3.10.4 数组常用的方法
      • 3.10.5 多维数组
    • 3.11 函数

1 什么是VBA

VBA是一种编程语言,它依托于Office软件,不能独立运行,通过VBA可以实现各种Office软件操作的自动化。通俗易懂的来说就是在Excel中想实现什么功能,就可以通过VBA语言编写的程序区实现。

2 宏

2.1 打开Excel的开发工具功能

2.2 初级宏

  • 给成绩不及格的单元格标红
  1. 录制宏:开发工具-录制宏-添加宏名“不及格的成绩”-快捷键(可以设置快捷键,这里没有设置)-保存在(一般选择当前工作簿)-说明(可以添加这个宏的说明信息)
  2. 录制宏开始,所有的操作都会被记录
    点击一个空白单元格-条件格式-突出显示-小于

    设定小于60分的用浅红色填充
  3. 停止录制红
  4. 选中需要筛选不及格成绩的列-点击“宏”
  5. 结果

2.3 使用相对引用

  • 给A列的单元个标红,并且每执行一次,选中的单元格下移一次
  1. 选中A1单元格-点击“使用相对引用”-录制宏
  2. 将A1单元格的改为红色文本-选中A2单元格
    因为宏会记录鼠标的所有操作,所以如果想更改一个单元格后让选中的单元格下移一个,这一步就很关键
  3. 执行宏
  4. 执行结果:每标红一次,光标下移一行

2.4 制作工资条

  • 源数据
  • 目标数据

    1.录制宏:
    选中A1单元格-使用相对引用-录制宏-宏名“制作工资条”

    2.宏的内容
    (1)选中第二和第三行-右键-插入-活动单元格下移


(2)复制第一行工资条列头至第四行

(3)选中第三行-右键-设置单元格格式-边框-取消左右竖线

(4)将鼠标选中A4单元格-停止录制-取消使用相对引用

3. 执行
选中A1单元格-制作工资条

2.5 添加表单控件


指定-制作工资条

这样,点击按钮就会执行宏

但是这样还是点击一次,生成一行,如果想一键生成怎么办
点击Visual Basic

添加循环


一键生成

3 VBA

3.1 VBA编码语法

  • VBA的代码的开始和结束

Sub 代码名称()
代码内容
End Sub

3.2 变量

所谓变量就是内存开辟出来的用于存储数据的存储单元

3.2.1 定义变量

方法1:dim 变量名 as 数据类型
方法2:dim 变量名 as 数据类型,变量名 as 数据类型
方法3:dim 变量名,变量名 as 数据类型 ()
方法4:dim 变量名+数据类型符

Sub 变量测试()Dim i As Integer
Dim i1 As Integer, str As String
Dim i2, i3 As Integer
Dim i4%End Sub
3.2.2 变量名的命名规则
  • 由字母、数字、下划线以及汉字构成
  • 只能以字母或汉字开头,不可以是数字或者下划线开头
  • 长度不可以超过255个字符
  • 不可以使用VBA中的关键字
  • 见名知意
  • 不建议使用汉字
  • 变量名的后面可以添加一个符号,表示该变量盛装的数据的类型,常用符号:%、&、#、$、!

注意

  1. 变量名字不要重复
  2. VBA中变量可以不声明就使用,但是不建议,如果不声明就使用,那么该变量里面可以盛装任意类型的数据
3.2.3 变量的赋值
  • 格式1:变量名 = 值
  • 格式2:如果变量要盛装的是对象,如工作表,单元格,可以使用如下格式set 变量名 = 对象,如
    1.第一步:定义变量,存储对象:Dim 变量名 As WorkSheet
    2.第二步:为变量赋值一个工作表(被激活的工作表):set sht = ActiveSheet
  • 注意1:如果要将数据表对象赋值给一个变量,那么也可以使用如下格式
    1.set 变量名 = Sheets(数据表的编号)
    2.set 变量名 = Sheets(数据表的名称)
  • 注意2:如果标量声明但是没有被赋值,那么默认情况下:
    1.整数默认值为0
    2.字符串为空串
    3.布尔值为false

3.3 数据类型

数据类型 类型关键字 类型符 前缀 存储空间 取值范围
字节型 Byte Byt 1字节
整型 Integer % Int 2字节 -32768~32767
长整型 Long & Lng 4字节 -2147483648~2147483647
单精度型 Single Sng 4字节 负数-3.402823E38~-1.401298E-45正数1.401298E-45~3.402823E38
双精度型 Double # Dbl 8字节 负数-1.79769313486232E308~-4.9406545841247E-324正数4.9406545841247E-324~1.79769313486232E308
货币型 Currency @ Cur 8字节 -922337203685477.5808~922337203685477.5808
字符串型 String $ Str 暂不定 定长字符串可包含0个字符~216个字符,变长字符串可包含0个字符~331个字符
布尔型 Boolean Bln 2字节 True或False
日期型 Date Dtm 8字节 100年1月1日~9999年12月31日

3.4 常量

所谓常量就是程序运行过程中值不可以改变的量,简单说常量就是程序中的具体数值

注意事项如下

  1. 字符串:VBA中的字符串需要使用双引号包起来
  2. 日期/时间类型:
  • 日期型数据用8个字节来存储,日期数据要用#号括起来
  • 允许用各种表示日期和时间的格式
  • 日期可用“/”、“,”、“-”分隔,可以是年、月、日,也可以是月、日、年的顺序。时间必须用“:”分隔,顺序是:时、分、秒。
#2009-08-11 10:25:00 PM#
#03/23/2019#
#03-25-2008 20:30:00#

3)布尔型数据(Boolean):

  • 布尔型数据只有两个值:TRUE和False,用2个字节存储
  • 布尔型数据转化为数值型时,False为0,True为-1
  • 其他数据类型转换为逻辑型时,0转换为False,其他值均转换为True

3.5 运算符

3.5.1 算术操作符
  • + : 两个操作数相加
  • -: 两个操作数相减
  • *: 两个操作数相乘
  • / : 两个操作数相除
  • mod: 模运算符,整数除法后的余数,结果的符号和被除数相同
  • ^ : 指数运算符
3.5.2 比较运算符
  • = : 检查两个操作数的值是否相等。如果是,那么条件是真。
  • <> : 检查两个操作数的值是否不相等。如果值不相等,则条件为真。
  • > : 检查左操作数的值是否大于右操作数的值。如果是,那么条件是真。
  • < : 检查左操作数的值是否小于右操作数的值。如果是,那么条件是真。
  • >= : 检查左操作数的值是否大于或等于右操作数的值。 如果是,那么条件是真。
  • <= : 检查左操作数的值是否小于或等于右操作数的值。如果是,那么条件是真。
3.5.3 逻辑运算符
  • AND : 两个条件都为真,则表达式为真。(只要有一个操作数是假结果就是假)
    1.真 and 真 = 真
    2.真 and 假 = 假
    3.假 and 真 = 假
    4.假 and 假 = 假
  • OR : 如果两个条件中的任何一个为真,则条件为真。
    1.真 or 真 = 真
    2.真 or 假 = 真
    3.假 or 真 = 真
    4.假 or 假 = 假
  • NOT : 用于反转其操作数的逻辑状态。 如果条件成立,那么逻辑非运算符结果是条件不成立。
3.5.4 连接操作符
  • & : 连接两个值
    示例1:1 & 2 = 12
    示例2:“1” & “2” = 12
  • + : 将两个值添加为变量,其值是数字,注意如果+两侧的操作数都是字符类型的字符串,如”a”、”b”,那么+就具有连接功能,但是如果操作数中有数值类型的字符串,那么会有转型效果,即将字符串转换为数值在进行运算(注意操作数中有且只有一个数值构成的字符串,即如”1”+2,如果都是字符串,如”1”+”2”,那么也是直接拼接,结果为12)
3.5.5 运算符优先级

算术运算符>连接运算符>关系运算符>逻辑运算符

3.6 MsgBox

Sub Text()
Dim i%
Dim bool As Boolean
bool = True
MsgBox bool + 1, vbOKCancel, "bool+1的值"
'      显示的内容,显示的按钮,标题
End Sub

Sub Text()
Dim i%
Dim bool As Boolean
bool = True
'MsgBox bool + 1, vbOKCancel, "bool+1的值"
'      显示的内容,显示的按钮,标题
i = 2 + 9
MsgBox (i)
End Sub

如果MsgBox里只填显示的内容,标题时默认的,按钮时默认的只显示“确定”

3.7 获取要操作的数据表

  • 格式1:
  1. 声明变量:dim 变量名 as Worksheet
  2. 为变量赋值:set 变量名 = Sheets(数据表编号),注意一个工作簿中的数据表时从1开始编号的
  • 格式2
  1. 声明变量:dim 变量名 as Worksheet
  2. 为变量赋值:set 变量名 = Sheets(数据表名称),注意一个工作簿中的数据表时从1开始编号的
  • 格式
  1. 声明变量:dim 变量名 as Worksheet
  2. 为变量赋值:set 变量名 = Activesheet

3.8 单元格的基本操作

  • 获取单元格的值
  1. Sheets(表名/表的编号).range(“单元格名称”)
  2. Sheets(表名/表的编号).[单元格名称]
  3. Sheets(表名/表的编号).Cells(行号,列号)
  • 为单元格赋值
  1. Sheets(表名/表的编号).range(“单元格名称”).value = 值
  2. Sheets(表名/表的编号).[单元格名称] .value = 值
  3. Sheets(表名/表的编号).Cells(行号,列号) .value = 值
  • 为单元格设置颜色:Sheets(表名/表的编号).range(“单元格名称”).interior.ColorIndex = 数值,数值范围为1-56
  • 复制单元格中的内容:Sheets(表名/表的编号).range(“单元格名称”).copy Range(要放置的位置)
  • 剪切单元格中的内容:Sheets(表名/表的编号).range(“单元格名称”).cut Range(要放置的位置)

3.9 三大结构

3.9.1 顺序结构

顺序结构就是指程序自上而下执行,不经任何跳转

3.9.2 选择结构

程序在执行前会判断条件是否成立,如果条件成立则执行某个语句段,如果条件不成立,可以执行其它的语句段
包含两大语句if、select
(一) if语句

  • 单分支:所谓单分支即只考虑条件成立时的情况
Sub test1()
Dim i%
i = 5
If i > 0 ThenMsgBox ("i是正数")
End If
End Sub

  • 双分支
Sub test1()
Dim i%
i = -5
If i > 0 ThenMsgBox ("i是正数")
ElseMsgBox ("i是负数")
End If
End Sub

  • 多分支:注意else可以省略
Sub test1()
Dim i%
i = 50
If i > 90 ThenMsgBox ("A")
ElseIf i > 70 ThenMsgBox ("B")
ElseIf i > 60 ThenMsgBox ("C")
ElseMsgBox ("D")
End If
End Sub

  • select语句
Sub test1()
Dim i%
i = 1
Select Case iCase 1 To 5MsgBox ("weekday")Case 6, 7MsgBox ("weekend")Case ElseMsgBox ("error!!!!!")
End Select
End Sub


Case表达式可以是下列4种格式之一:

  • 单一数值,如Case2
  • 一行并列的数值,数值之间用逗号隔开。如Case 5,6,7
  • 用关键字To分隔开两个数之或表达式之间的范围。如Case 1 To 10
  • 用关键字ls连接关系运算符。如=、<>、<、<=、>、>=,后面跟变量或具体的值,ls>=15

Case语句是依次测试的,并执行第一个符合Case条件的相关的程序代码,即使再有其它符合条件的分支也不会再执行。如果没有找到复合条件的,并且有Case Else语句,就会执行该语句后面的程序代码。

3.9.3 循环结构
  • 所谓循环结构就是指能够重复执行的代码段
  • 格式
    for 变量=起始值 to 终止值 step 步长值
    循环体
    next 变量
  • 注意事项
  1. step可以省略,如果省略,默认为步长为1
  2. next后面的变量也可以省略,但是不建议,next的作用就是表示对next后面的变量做修正
  • 常用思想
  1. 累加算法:sum sum = 0 sum = sum + i
  2. 累乘算法:p p = 1 p = p * i
  3. 计数器:count count = 0 count = count + 1
1.打印1-10到a1-a10单元格
Sub text()
Dim i%
For i = 1 To 10Sheets("sheet2").Range("a" & i).Value = i
Next i
End Sub2.打印1-10间的偶数
Sub text()
Dim i%
For i = 1 To 10if (i mod 2)=0 thenSheets("sheet2").Range("b" & i/2).Value = iend if
Next i
End Sub3.打印1-100间能被3和7同时整除的数
Sub text()
Dim i%
For i = 1 To 100if (i mod 3)=0 and (i mod 7)=0 thenmsgbox(i)end if
Next i
End Sub4.打印1-10的和
Sub text()
Dim i%
Dim s%
s = 0
For i = 1 To 10s = s + i
Next i
msgbox(s)
End Sub5.打印1-10间偶数的和
Sub 打印1-10间偶数的和()
Dim i%
Dim s%
s = 0
For i = 1 To 10If (i Mod 2) = 0 Thens = s + iEnd If
Next i
MsgBox (s)
End Sub6.打印5! = 5*4*3*2*1
Sub text()
Dim i%
Dim s%
s = 1
For i = 1 To 5s = s * i
Next i
MsgBox (s)
End Sub7.计算1-10间偶数的个数
Sub text()
Dim i%
Dim c%
c = 0
For i = 1 To 10If (i Mod 2) = 0 Thenc = c + 1End If
Next i
MsgBox (c)
End Sub8.2-99之间能整除3的数字之和
Sub text()
Dim i%
Dim a%
a = 0
For i = 2 To 99If (i Mod 3) = 0 Thena = a + iEnd If
Next i
MsgBox (a)
End Sub9.求1-10偶数的平均分
Sub text()
Dim i%
Dim c%
c = 0
s = 0
For i = 1 To 10If (i Mod 2) = 0 Thens = s + ic = c + 1End If
Next i
MsgBox (s / c)
End Sub10.计算1*1 + 2*2 + 3*3 +4*4 + 5*5 +...+ 10*10的和
Sub text()
Dim i%
Dim j%
Dim s%
s = 0
For i = 1 To 10j = is = s + i * j
Next i
MsgBox (s)
End Sub11.实现九九乘法表
sub text()
For a = 1 To 9For b = 1 To 9If a >= b ThenSheets("Sheet2").Cells(a, b).Value = (a & "*" & b & "=" & a * b)End IfNext b
Next a
End Sub

3.10 数组

数组就是用来存储大量的数据的存储空间,数组在存储数据时是有序存储。数组中的每一个值被称为数组元素,每一个数组元素都有一个编号(即索引,也可以称为下标),从0开始到数组长度-1为止

3.10.1 数组的创建
  1. 格式1:Dim 数组名(上界) as 数组中存储的数据的类型,示例:Dim arr(4) as Integer
    arr(4)里有5个数据,即a[0],a[1],…,a[4]
  2. 格式2:数组名 = Array(值1,值2,值3…)
3.10.2 数组元素的操作
  1. 赋值:数组名(下标) = 值
  2. 修改:数组名(下标) = 值
  3. 获取值:数组名(下标)
3.10.3 利用循环对数组元素进行赋值和遍历
Sub text()
'数组定义的第一种方法
'dim 数组名(数组长度) as 数据类型
'数组内的元素的数据类型必须相同
'Dim arr(3) As Integer
'Dim i%
'arr(0) = 1
'arr(1) = 2
'arr(2) = 3
'For i = 0 To 2
'    MsgBox (arr(i))
'Next i'第二种定义方式
Dim i%
arr = Array(1, 2, 3)
'修改数组元素
arr(0) = 5
For i = 0 To 2MsgBox (arr(i))
Next i
End Sub
Sub text()
Dim arr(10) As Integer
Dim i%
'为数组赋值,将A1-A10单元格种的值赋给数组
For i = 0 To 9arr(i) = Cells(i + 1, 1)
Next i
'利用循环输出数组里面的值
'遍历数组
For i = 0 To 9MsgBox (arr(i))
Next i
End Sub
3.10.4 数组常用的方法
  • lbound
  1. 格式:Lbound(数组名)
  2. 作用:返回数组的最小下标
  • Ubound
  1. 格式:Ubound(数组名)
  2. 作用:返回数组的最大下标,即上界
Sub text()
Dim i%
arr = Array(1, 2, 4, 5, 8)
For i = LBound(arr) To UBound(arr)MsgBox (arr(i))
Next i
End Sub
3.10.5 多维数组

定义格式:Dim 数组名(行数,列数) as 数据类型

  • 二维数组元素的操作

格式:数组名(下标1,下标2),注意:下标1表示行数,下标2表示列数,无论行还是列都是从0开始,到长度-1结束

Sub text()
'二维数组的定义方式
'dim 数组名(数组下标1,数组下标2) as 数据类型
Dim arr(3, 3) As Integer
Dim i%, j%
arr(0, 0) = 1
arr(1, 0) = 2
arr(2, 0) = 3
arr(0, 1) = 4
arr(1, 1) = 5
arr(2, 1) = 6
arr(0, 2) = 6
arr(1, 2) = 7
arr(2, 2) = 8
For i = 0 To 2For j = 0 To 2MsgBox (arr(i, j))Next j
Next i
End Sub

  • 打印单元格里的数组的内容
Sub text1()Dim arr(3, 3), i, j As IntegerFor i = 0 To 2For j = 0 To 2arr(i, j) = Cells((i + 1), (j + 1))Next jNext iFor i = 0 To 2For j = 0 To 2MsgBox (arr(i, j))Next jNext i
End Sub
  • 打印对角线
Sub text2()Dim arr(3, 3), i, j As IntegerFor i = 0 To 2For j = 0 To 2arr(i, j) = Cells((i + 1), (j + 1))Next jNext iFor i = 0 To 2MsgBox (arr(i, i))Next i
End Sub

3.11 函数

  • 什么是函数:具有特定功能的模块
  • 函数的分类:无参函数有返回值函数、有参函数有返回值函数
  • 无参函数定义格式:
    Function 函数名() as 数据类型
    函数体
    函数名 = 函数运行后的结果
    end Function
  • 无参函数的调用:函数名(),调用语句可以写在excel表格内部,也可以在sub中调用
Function fn()fn = "hello world"
End FunctionSub test1()
'调用fn种的内容MsgBox (fn())
End Sub
  • 有参函数的定义格式:
    function 函数名(形参1 as 数据类型,形参2 as 数据类型….) as 数据类型
    函数体
    函数名 = 结果
    End Function
  • 有参函数的调用:函数名(实参1,实参2…),调用语句可以写在excel表格内部,也可以在sub中调用
Function fn() As Stringfn = "hello world"
End FunctionSub test1()
'调用fn中的内容MsgBox (fn())
End Sub
  • 什么是实参和形参
  1. 形参:定义函数时所使用的参数被称为形参,形参的本质就是用来存储函数调用时传递过来的具体数据,简答说形参就是变量,定义格式:(形参名1 as 数据类型,形参名2 as 数据类型…. )

  2. 实参:调用函数时传递过来的具体的数据被称为实参,格式:函数名(实参1,实参2…)

'                  形参
Function fn(num1, num2 As Integer) As IntegerDim sum%sum = num1 + num2fn = sum
End Function
Sub getSum()
'                  实参MsgBox (fn(1, 2))
End Sub

在sheet中调用

注意:需要在Visual Basic中插入一个模块,将函数写在该模块中,就可以在单元格中直接调用自己写好的函数啦

  • 形参和实参的关系
  1. 实参传递给形参,只能是单向传递
  2. 实参在传递时和形参是一一对应的关系
  • 计算单元格A1-A10的和和平均数
Function fn(arr)Dim i%, sum%, max%, min%, avg As Doublesum = 0For i = 0 To UBound(arr)sum = arr(i) + sumNext iavg = sum / (UBound(arr) + 1)max = arr(0)For i = 0 To UBound(arr)If max < arr(i) Thenmax = arr(i)End IfNext imin = arr(0)For i = 0 To UBound(arr)If min > arr(i) Thenmin = arr(i)End IfNext ifn = "sum is :" & sum & "," & "avg is " & avg & "," & "max is :" & max & "," & "min is :" & minEnd Function
Sub test2()
Dim my_arr(9), i As Integer
For i = 0 To UBound(my_arr)my_arr(i) = Cells(i + 1, 1)
Next i
MsgBox (fn(my_arr))
End Sub

Excel-宏、VBA相关推荐

  1. Excel宏(VBA)类模块的创建与调用

    Excel宏VBA类模块的创建与调用 1 类模块的介绍 2 为什么要使用类模块 3 如何创建类模块 4 如何调用类模块 5 代码 1 类模块的介绍 2 为什么要使用类模块 3 如何创建类模块 类模块的 ...

  2. Excel宏(VBA)密码破解

    最近在研究一个Excel宏,想查看VBA代码但是有密码,于是想着能不能移除密码.网上查找一番资料后进行了尝试. 一,准备工具 Excel Hex Editor Neo 二,开始实践 首先将.xlsm后 ...

  3. excel 2007 vba与宏完全剖析_Excel宏VBA小技巧系列 | 分段加合

    写在前面的话  知识产权算是一个盛产数据的行业.专利啊商标啊著作啊,都有著录项目.我们常说的专利分析.产业导航.企业导航.产业预警.竞争情报.技术综述.知识产权评议等等,常规操作之一就要先处理著录项目 ...

  4. python如何读取excel宏_Python读取含有VBA宏的Excel数据

    因为现在项目在开发新的API,我需要根据API方法论去校验这个API的计算逻辑和计算结果是否正确,而且需要将计算逻辑用Excel记录下来,所以就用了Excel的VBA. 1. 什么是VBA? 具体含义 ...

  5. 在Python中运行Excel的VBA宏

    转载自https://www.cnblogs.com/russellluo/archive/2011/10/16/2214347.html 并加以细化 在EXCEL的VBA中提供了一个ExecuteE ...

  6. Excel(VBA)自定义右键单击菜单以启动宏(示例代码)

    主要介绍 Excel(VBA)自定义右键单击菜单以启动宏(示例代码)以及相关的经验技巧 THISWORKBOOK (paste into ThisWorkbook, macros that open ...

  7. excel调用python编程-用Python如何开发Excel宏脚本?新手必学

    今天介绍一个叫 xlpython 的库,通过它我们可以用 Python 来开发 Excel 的宏脚本,真正实现在 Excel 中调用 Python. 基本环境 操作系统:Windows 10 x64 ...

  8. 【Monkey Run】Excel编程 VBA

    Excel编程 VBA 天气如此舒适,装B逐渐减少,所以最近的blog输出一直停滞不前.然而最近一直忙于Excel编程,觉得也有点从0到1的学习创造过程,有必要总结记录下.具体的VBA编程知识可以借鉴 ...

  9. 004.了解Excel宏

    大家好,我是永不止步的老牛. 上一篇我们介绍了VBA的过程和函数,本篇我们介绍Excel宏. Excel宏是一些VBA代码的集合,宏可以被执行,宏可以进行录制,保存下来方便多次执行,宏录制就是将我们在 ...

  10. java 调excel 的宏_Microsoft Excel宏来运行Java程序

    我学会了在Jxl和POI API的帮助下使用Java程序读写Excel文件. 是否可以在宏的帮助下运行Java程序? 检查一下 - [stackoverflow.com/questions/52973 ...

最新文章

  1. springboot redis配置
  2. Xamarin.Android使用教程之Android开发所需的模拟器
  3. ubuntu 压缩率最高的软件_不用写采集规则也可以轻松采集网站文章,揭秘一款明泽文章采集软件的工作原理...
  4. Python | threading05 - 使用有界信号量,实现线程间同步
  5. 干货 | 140页《深度强化学习入门》
  6. Python写视图界面--pyqt的使用
  7. python网络编程难点_python网络编程
  8. 20191129每日一句
  9. 《逐梦旅程——windows游戏编程之从零开始》笔记
  10. js代码混淆 webpack-obfuscator
  11. 聚焦“生态化”,e签宝讲好电子签名的“中国故事”
  12. Spring注解扫描原理浅析
  13. 用2008系统安装k3服务器,金蝶K3SQL-Server-2008-R2安装方法介绍
  14. 思科服务器如何进入网站,思科路由器怎么进入设置网站
  15. 20种水彩画笔效果PS笔刷
  16. java实现lbs_如何在 Java 中利用 redis 实现 LBS 服务
  17. QQ浏览器 不支持html5,浏览器常见问题_浏览器高级功能_浏览器在线帮助-QQ浏览器官网...
  18. sqoop import 数据同步到hive的用法
  19. python快速入门【四】-----各类函数创建
  20. c语言程序设计中植树问题,植树问题 (3).doc

热门文章

  1. 为什么使用计算机网络连接,为什么无线网络连接上却不能上网,教您电脑连上无线网却不能上网怎么办...
  2. 恢复iPhone已删除的短信
  3. 北京大学可视化发展前沿研究生暑期学校Day6
  4. 浏览器html5效果测试,8款浏览器对HTML5的支持测试
  5. r语言赋值为na_如何将R数据中的NA值替换为0?
  6. pwn在matlab中怎么搭建,PWN题搭建
  7. 桃词典 Peach Dictionary 简易英语词典app开发 安卓软件开发 Part 9
  8. 测绘大地测量乙级资质新申请条件及办理流程
  9. 【敏捷】敏捷时代的建模:敏捷团队的扩张除了代码还需要什么? (ZZ)
  10. 容器三把斧之 | OverlayFS原理与实现