word
语法
搜索通配符
^& 指代 qw^?
其中^&指原匹配字符
^? 指任意单个字符

word通配符
^13回车
^t制表符tab
(??)两个任意符号
(*)任意个符号
\1匹配的第一个括号内容
\2匹配的第二个括号内容
一、不同的通配符的含义
^?
任意单个字符
^#
任意单个数字
^$
任意单个字母
^p
段落标记
^t
格式标记 tab
^d
域
^w
空白区(空格、不间断空格、以及任意顺序的格式标记)
^f
脚注标记
^e
尾注标记
^b
分节符
^&
原查找内容
^c
,剪贴板内容
二、部分通配符的使用说明
① >
使用该通配符的话,可以用来指定要查找对象的结尾字符串。例如要是大家在查找对话框中输入 en>
的话,word程序就会在当前文档中查找到以 en
结尾的所有目标对象,可能找到 ten
、 pen
、 men
等等。
② ?
该通配符是用来代表任意单个字符,几个 ?
就代表几个未知字符。如输入 ?家
的话,word程序就可以找到类似 大家
、 国家
、 全家
之类的目标内容。
③ [!x-x]
这个通配符的作用就是用来排除指定范围内的任意单个字符。例如输入 [!a-c]
的话,word程序就可以找到 good
、 see
、 these
等目标字符,而所有包含字符a、b、c之类的内容都不会在查找结果中出现。
④ @
使用该通配符的话,可以用来指定要查找字符中包含一个以上的前一字符。如输入 go@d
的话,word程序就可以找到 god
、 good
之类的字符串内容了。
⑤ []
该方框内的字符可以是指定要查找的字符之一。如输入 [红黄]色
的话,word程序就可以找到 红色
、 黄色
内容了。
⑥ *
*
的含义是用来代替任意多个字符。如输入 *家
就可以找到 大家
、 保卫国家
、 我爱我家
等字符串内容了。
⑦ {n}
可以用来指定要查找的字符中包含前一字符的个数。如输入 cho{1}se
就是说包含1个前一字符 o
,可以找到 chose
,输入 cho{2}se
就是说包含2个前一字符 o
,可以找到 choose
。
⑧ [x-x]
该通配符是用来指定范围内的任意单个字符。如输入 [a-c]
id的话,word程序就可以找到 aid
、 bid
等字符内容了。
⑨ <
使用 <
,可以用来指定要查找字符中的起始字符串。如输入 <mo
,就说明要查找的字符的起始字符为 mo
,这样Word程序就可以找到 more
、 moon
、 mode
等字符串内容了。
⑩ {x,x}
该通配符是用来指定要查找字符中前一字符数范围。如输入 go{1,2}d
,就表示包含前一字符 o
数目范围是1-2个,那么在查找结果中将找到 god
、 good
之类的内容了。组合使用通配符可以更精确地查找。如输入 <(mo)*(ing)>
,就表示查找所有以 mo
开头并且以 ing
结尾的字符串,不过这里需要注意的是大家必需要用括号来区分开不同的查找规则。
vba语法
mod
取模,类似于%
/
除法,有小数
声明变量
Dim test0 As Integer
变量名 类型:Integer
整形
shape
非嵌入式图片或图形
nlineshape
嵌入式图片
Document
文档
变量赋值
Set oDoc = Word.ActiveDocument '文档
with [变量]
......
end with
'范围内使用变量 类似C#的use()
循环
For Each oT In .Tables
Next
For Each iShape In ActiveDocument.InlineShapes
iShape.LockAspectRatio = msoFalse
Next
For i = ActiveDocument.InlineShapes.Count To 1 Step -1
//for i= 初始值 TO 结束值 step 步长
Next
例程
Sub 批量处理图片()
'
' test1 宏
' 批量改变图片
'
Mywidth = 28.345 * 5 '图片宽度(厘米)
Myheigth = 28.345 * 4 '图片高度(厘米)
Dim countS1 As Integer
Dim countS2 As Integer
Dim countTb As Integer
Application.ScreenUpdating = False
countS1 = ActiveDocument.Shapes.Count
For j = countS1 To 1 Step -1
With ActiveDocument.Shapes(j).ConvertToInlineShape
End With
Next
countS2 = ActiveDocument.InlineShapes.Count
For i = countS2 To 1 Step -1
With ActiveDocument.InlineShapes(i)
.LockAspectRatio = msoFalse
'.Select
'.Range.Paragraphs.Alignment = wdAlignParagraphCenter
.Height = Myheigth
.Width = Mywidth
End With
Next
countTb = ActiveDocument.Tables.Count
For k = countTb To 1 Step -1
With ActiveDocument.Tables(k)
' .AutoFitBehavior (wdAutoFitWindow)
' .AutoFitBehavior (wdAutoFitContent)
.AutoFitBehavior (wdAutoFitFixed)
.Columns(4).Width = 40
.Columns(3).Width = 160
.Columns(2).Width = 160
.Columns(1).Width = 40
.Rows.Height = 130
.Rows(1).Height = 20
.Rows.SetLeftIndent LeftIndent:=0, RulerStyle:=wdAdjustWidth
End With
Next
Application.ScreenUpdating = True
MsgBox "非嵌入式图片" & countS1 & Chr(13) & "共计图片" & countS2 & Chr(13) & "表格" & countTb
End Sub
' 归并同类项
Sub aaa()
a0 = [a3000].End(3)
For i = [a3000].End(3).Row To 2 Step -1
a1 = Cells(i, 1)
num0 = Cells(i, 2)
If a1 = a0 Then
Cells(i, 2) = Cells(i + 1, 2) + num0
Cells(i + 1, 1).EntireRow.Delete
Else
a0 = Cells(i, 1)
End If
Next
End Sub
excel
语法
跨表搜索vlookup
=VLOOKUP(B2,Sheet2!$B$2:$R$338,16,0)&""
第一个值是要搜索的数据,当前表 第二个值是数据来源(其中加$表示固定,拖动选定区域时不会改变),被查找表 第三个值是搜索到的行中的第几列,被查找表 第四个值是是否精确搜索
被搜索的数据放在第一列,被查找表 数字型不应超过15位 如果改成数字型仍不能找到,使用
=B2-0
比如:如果单元格F7的格式是常规类型,日期2008-01-23就会显示为39470,可以用text(F7,"yyyy-mm-dd")来转换。
=IFERROR(VLOOKUP(F6,$B$4:$D$8,3,0),"匹配不到")
=IF(ISNA(VLOOKUP(F6,$B$4:$D$8,3,0)),"匹配不到",VLOOKUP(F6,$B$4:$D$8,3,0))
MID
=MID(目标单元格,开始位置,截取长度)
身份证提取
在单元格中输入公式=MID(A2,7,8),其中A2为有身份证号的单元格,7代表从B2单元格中的字符串7位(从左到右)开始截取,8代表是截取8个字符。
若想设置为日期格式,可以输入公式=TEXT(MID(A2,7,8),"0000-00-00").
语法结构=TEXT(单元格的引用,格式)
根据答案获取选项内容
=" a"&IF(COUNTIF(B1,"*A*"),"__"&C1,"")&IF(COUNTIF(B1,"*B*"),"__"&D1,"")&IF(COUNTIF(B1,"*C*"),"__"&E1,"")&IF(COUNTIF(B1,"*D*"),"__"&F1,"")