自己写的一些Excel及WordVBA函数[原创]
1、将Excel当前工作表另存至桌面
Excel中有时一个工作簿中工作表特别多,需要快速单独存取其中一个,可用以下代码快速存至桌面
Sub 另存工作表到桌面()
Dim sh As Worksheet
Set sh = ActiveWorkbook.ActiveSheet
sh.Copy
ActiveWorkbook.SaveAs Filename:="C:\Users\Administrator\Desktop\" & sh.Name & ".xlsx"
ActiveWorkbook.Close
End Sub
2、word中图片大小批量修改
Sub 全局调整(hight As Double, width As Double)
Dim n
For n = To ActiveDocument.InlineShapes.Count
With ActiveDocument.InlineShapes(n)
'.Reset
.LockAspectRatio = msoFalse
.Height = hight / 0.0353
.width = width / 0.0353 End With
Next n
msg = MsgBox("图片调整完成!", , "提示")
End Sub Sub 单图调整(hight As Double, width As Double)
With Selection.InlineShapes()
.LockAspectRatio = msoFalse
.Height = hight / 0.0353
.width = width / 0.0353
End With
End Sub
3、word以excel为数据源进行批量数据替换
新建excel文件,在A列输入被替换的内容,B列输入替换后的内容,然后执行以下代码
Sub 批量替换(replace As Boolean) Dim dig As Object
Set dig = Application.FileDialog(msoFileDialogFilePicker)
With dig
.InitialFileName = "C:\Users\Roman\Desktop\"
.Filters.Add "Excel", "*.xls; *.xlsx; *.xlsm", End With
If dig.Show = - Then
FileDir = dig.SelectedItems() '"C:\Users\Roman\Desktop\点.xls" On Error Resume Next
Set xlApp = GetObject(, "Excel.Application") '判断Excel是否打开
If Err.Number <> Then
Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象
xlApp.Visible = False '设置EXCEL对象可见
End If
Err.Clear
Set wk1 = xlApp.Workbooks.Open(FileDir) '打开工件簿文件
wk1.Visible = False '是否显示文件 '批量替换
Set sh = wk1.Sheets()
n =
Do
n = n +
Loop Until sh.Cells(n, ) = "" For i = To n
text1 = sh.Cells(i, ) '替换源
text2 = sh.Cells(i, ) '替换目标 Selection.Find.ClearFormatting
With Selection.Find
.Text = ""
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchKashida = False
.MatchDiacritics = False
.MatchAlefHamza = False
.MatchControl = False
.MatchByte = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Application.WindowState = wdWindowStateNormal
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = ""
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchKashida = False
.MatchDiacritics = False
.MatchAlefHamza = False
.MatchControl = False
.MatchByte = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = text1
.Replacement.Text = text2
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchKashida = False
.MatchDiacritics = False
.MatchAlefHamza = False
.MatchControl = False
.MatchByte = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute replace:=wdReplaceAll
Next i
xlApp.Quit
msg = MsgBox("替换完成!", , "提示")
End If
4、将文件夹中的Excel表格批量输出为pdf
Sub outPdf()
Dim myFile, myPath
myPath = ""
myFile = Dir(myPath & "*.xlsx")
Do While myFile <> ""
If myFile <> ThisWorkbook.Name Then
Workbooks.Open (myPath & myFile) With ActiveSheet.PageSetup
.PrintArea = "A1:L15" '//打印区域
.FitToPagesWide = '//页宽是一页
.FitToPagesTall = '//页高是一页
.PaperSize = xlPaperA4 '//纸张大小,pdf输出至桌面
.CenterVertically = True
.CenterHorizontally = True
.Zoom = ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\Roman\Desktop\" & ActiveSheet.Range("f5") & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True
End With End If
myFile = Dir
Loop
End Sub
-----------------------------------------------------------
转载请注明出处:https://www.cnblogs.com/implementer/
自己写的一些Excel及WordVBA函数[原创]的更多相关文章
- 浅谈Excel开发:六 Excel 异步自定义函数
上文介绍了Excel中的自定义函数(UDF ),它极大地扩展了Excel插件的功能,使得我们可以将业务逻辑以Excel函数的形式表示,并可以根据这些细粒度的自定义函数,构建各种复杂的分析报表. 普通的 ...
- [VBA]用一个简单例子说明如何在Excel中自定义函数
Excel中的函数无疑是强大的,但是再强大的战士也有他脆弱的脚后跟[1].这两天在使用Excel的时候遇到了一个需求,要在某一个单元格里面自动计算今天是星期几(如显示 Today is Tuesday ...
- Excel中choose函数的使用方法
你还在为Excel中choose函数的使用方法而苦恼吗,今天小编教你Excel中choose函数的使用方法,让你告别Excel中choose函数的使用方法的烦恼. 经验主要从四方面对Excel函数进行 ...
- Excel公式与函数——每天学一个
说明(2018-5-29 20:35:53): 1. 根据刘伟的视频讲解进行总结,网上讲Excel公式与函数的貌似就他讲的还不错.在他的微博里看到现在的照片胖了不少,不过还挺帅的,不再是以前那个小屌丝 ...
- Excel中Sumproduct函数的使用方法
1.sumproduct函数的含义 1 1.Sumproduct函数的适用范围,在给定的几组数组中,然后把数组间对应的元素相乘,最后返回乘积之和. 从字面上可以看出,sumproduct有两个英文单词 ...
- Excel中concatenate函数的使用方法
你还在为Excel中concatenate函数的使用方法而苦恼吗,今天小编教你Excel中concatenate函数的使用方法,让你告别Excel中concatenate函数的使用方法的烦恼. 经验主 ...
- 【图文】Excel中vlookup函数的使用方法
今天统计数据,用到了Excel中vlookup函数,第一次使用当然少不了百度,经过反复研究后,算是解决了问题,现整理成文档. 一.实现效果 Sheet1 Sheet2 注:上图中sheet1商品条 ...
- c# .Net :Excel NPOI导入导出操作教程之List集合的数据写到一个Excel文件并导出
将List集合的数据写到一个Excel文件并导出示例: using NPOI.HSSF.UserModel;using NPOI.SS.UserModel;using System;using Sys ...
- 【Excel 4.0 函数】REGISTER
REGISTER.ID 返回指定的 DLL 或 代码资源注册过的函数 ID.如果 DLL 或 代码资源没有注册,这个函数将会注册它们,并返回 注册ID. REGISTER.ID 可以用于工作表(不同于 ...
随机推荐
- 乘风破浪:LeetCode真题_002_Add Two Numbers
乘风破浪:LeetCode真题_002_Add Two Numbers 一.前言 这次的题目是关于链表方面的题目,把两个链表对应节点相加,还要保证进位,每个节点都必须是十进制的0~9.因此主要 ...
- 深入浅出WinDbg——利用快速定位错误
场景描述: Sharepoint代码的某方法LoadLines()中使用了SPSecurity.RunWithElevatedPrivileges(delegate() 此方法两次调用了Common. ...
- HTTP协议图--HTTP 协议基础
1.通过请求和响应的交换达成通信 应用 HTTP 协议时,必定是一端担任客户端角色,另一端担任服务器端角色.仅从一条通信线路来说,服务器端和客服端的角色是确定的.HTTP 协议规定,请求从客户端发出, ...
- 做 fzu oj 1003 简单的枚举
暴力求解法---简单枚举 定义一个函数(函数的内容大概是包含了题目所给的限制条件),然后主函数就是通过循环进行枚举,枚举出可能的元素,带入函数中进行验证,如果符合函数所给的情况,则为其解.
- Python中readline()函数 去除换行符
从Python中readline()函数读取的一行内容中含有换行符\n,很多时候我们需要处理不含有换行符的字符串,此时就要去掉换行符\n. 方法是使用strip()函数. 例子如下: f = open ...
- PhoneGap模仿微信摇一摇功能
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- angularJs的指令系统和双向数据绑定
一.langularJs的指令系统 <!DOCTYPE HTML> <html ng-app><!--这种以ng开头的就是指令系统,初始化的一个指令,不仅可以加在html ...
- 多GPU计算
多GPU计算已经可以说,只要是个成熟的模型,都使用了这一点. 例如: gluoncv:https://github.com/dmlc/gluon-cv/blob/master/scripts/dete ...
- Kali-linux使用Easy-Creds工具攻击无线网络
Easy-Creds是一个菜单式的破解工具.该工具允许用户打开一个无线网卡,并能实现一个无线接入点攻击平台.Easy-Creds可以创建一个欺骗访问点,并作为一个中间人攻击类型运行,进而分析用户的数据 ...
- fread与fread_s读取文件(二进制文件)
fread()是c库函数,利于移植,使用缓存,效率较read()高. 原型: size_t fread(void *buffer, size_t size, size_t count, FILE * ...