[VBA进阶] 1、根据图片名称批量插入图片

 时间:2024-11-11 13:44:56

此篇为vba进阶篇,提供一组VBA代码,可以根据工作表中已知的图片名称,批量插入对应的图片,并且可以设置参数,控制图片大小,免去一个一个重复插入图片的繁琐工作!

工具/原料

OFFICE2016(以打开“开发工具”选项卡)

图片的源文件

方法/步骤

1、[第一步]准备好需要插入图片的工作表,和图片源文件,图片文件最好统一为是JPG格式。如果工作表还没有打开“开发工具”选项卡的话,可以先百度一下。

[VBA进阶] 1、根据图片名称批量插入图片

[VBA进阶] 1、根据图片名称批量插入图片

2、[第二步]这一步需要将批量插入图片的代码放入模块中。依次单击:开发工具→Visual幞洼踉残Basic→插入→模块→复制以下代码到模块中→庙堠杼寺关闭VB代码编辑窗口注意:代码复制过程中文字会自动换行,可以根据我提供的代码图片调整位置!!代码位置要和我图片中的一样,否则会出现运行不了的情况。Sub图片插入()DimPicName,TitleRowAsLong,PicColAsLong,MaxRowAsInteger,iAsLongDimaAsString,bAsString,cAsString,dAsString,PicPathAsString,PicFormulaAsStringSetPicName=Application.InputBox("请选择图片名称所在列,只能选择单列单元格!",Title:="图片名称所在列",Type:=8)'选择的图片名称所在列PicCol=PicName.Column'取图片名称所在列列列标TitleRow=Val(Application.InputBox("请输入标题行的行数。"))'用户设置总表的标题行数IfTitleRow<0ThenMsgBox"标题行必须大于等于零,请重新确认。":ExitSubWithApplication.FileDialog(msoFileDialogFolderPicker).AllowMultiSelect=False'禁止多选文件夹If.ShowThenPicPath=.SelectedItems(1)Else:ExitSubEndWithIfRight(PicPath,1)<>"\"ThenPicPath=PicPath&"\"a="<table><imgsrc="""&PicPathb=".jpg""width=""75""height=""100"">"MaxRow=Cells(Rows.Count,PicCol).End(3).Row'图片名称所在列的总行数PicFormula=ThisWorkbook.Path&"\"&Hour(Now)&Minute(Now)&Second(Now)&"图片公式"&".txt"OpenPicFormulaForOutputAs1'生成txt文件,储存图片公式Fori=TitleRow+1ToMaxRowStep1c=Cells(i,PicCol).Valued=a&c&bPrint#1,dNextiClose1Shell"Notepad.exe"&PicFormula,vbNormalFocus'打开txt文件EndSub

[VBA进阶] 1、根据图片名称批量插入图片

[VBA进阶] 1、根据图片名称批量插入图片

3、[第三步]在工作表中插入一个命令按钮,用来运行上面的程序。依次单击:开发工具→插入→表单控件→按钮(窗体控件)→通过鼠标在工作表中画一个按钮→在弹出的窗口中选择宏“插入图片”→确定

[VBA进阶] 1、根据图片名称批量插入图片

[VBA进阶] 1、根据图片名称批量插入图片

4、[第四步]这是作重要的一步了,开始运行程序。单击刚刚创建的“按钮”→选择图片名称所在的列→输入标题行的行数→打开原图片所在文件夹→得出一个TXT文本文件→将文本内容复制到要插入图片的位置→完成

[VBA进阶] 1、根据图片名称批量插入图片

5、[第五步]最后是对参数的修改。可以从两个部分修改,第一是在代码中修改,在这里修改会对所嘀芟苒疾有图片失效;第二,是在得出的TXT文本文件中修改,可以针对不旎髂坑若同的图片修改,文件类型(如,jpg,png,gif,jpeg等),图片宽度,图片高度。

[VBA进阶] 1、根据图片名称批量插入图片

[VBA进阶] 1、根据图片名称批量插入图片

在VBA编程中怎样知道打开的工作薄的数量? 怎样使用VBA用图像控件打造动态按钮? 在VBA中,如何打开目录下的工作表? 怎样使用VBA文件只能使用三次? 怎样用VBA统计混合文本中的数字
热门搜索
糖果图片大全可爱 女安慰自己动手图片 易烊千玺演过的电影 鸟类图片大全带鸟名 寒兰图片