暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

插入指定的图片,另存为指定文件名

施施的EXCEL后备军 2021-08-30
694

    一般制作带图片的准考证通过邮件合并以及域的处理可以实现,详情可以参照之前的文章,地址如下:

    制作带图片的邮件合并——以制作准考证为例

    但有时候因为数据已在EXCEL中成型,不再适合用邮件合并的功能。则可以通过VBA来实现。

    如图1,需要将名为“考生信息表”(工作簿)中的“信息”工作表中的数据填入名为“准考证”(工作簿)中“准考证”工作表中,同时要插入相应图片(与名字一一对应)。

(图1)

如果不想一张张插入图片,且一张张表格另存为,这时候可以用VBA来实现办公自动化:

在打开的“准考证”工作表中,按【ALT+F11】换出VBE界面,插入【模块】,输入如下代码:

Sub 制作准考证()

    Dim fn As String, wb As Workbook, sht AsWorksheet

    fn = ThisWorkbook.Path & "\"& "考生信息表.xls"

    Set wb = GetObject(fn)

    Set sht = wb.Worksheets("信息")

    Dim i As Integer

    i = 3

    Do While sht.Cells(i, "B")<> ""

        Range("B2").Value =sht.Cells(i, "B")

        Range("B3").Value =sht.Cells(i, "C")

        Range("B4").Value =sht.Cells(i, "D")

        Range("D4").Value =sht.Cells(i, "E")

        ThisWorkbook.Worksheets("准考证").Shapes.SelectAll

        Selection.Delete

      Worksheets("准考证").Shapes.AddPictureThisWorkbook.Path & "\" & Range("B2") &".jpeg", True, True, Range("D2").Left + 2,Range("D2").Top + 2, _

        Range("D2").Width - 2,Range("D2").Height + Range("D3").Height - 4

       ThisWorkbook.SaveCopyAs"C:\Users\Administrator\Desktop\Excel技巧文章\11.在EXCEL中插入指定的图片,并另存为指定文件名\准考证存放处\" & Range("B2")& ".xls"

        i = i + 1

    Loop

End Sub

然后“运行”就可以了。

如图2所示。

(图2)

    打开存储准考证的路径,就可以得到所需要的结果如图3所示。

(图3)

【备注】

1.该代码的重点是:用了工作表addpicture的方法来插入图片;

2.保存路径是是savecopyas的路径;

3.用delete删除插入的图片以便重新循环而导致的图片叠加。

    4.含注释的图片如下(如图4):

(图4)

Tips1:主要要理解worksheet的addpicture方法,AddPicture(FileName、链接到文件、随文档保存、 Left、 Top、 Width、 Height),第一个参数是所插入图片存储的路径,最后四个是插入图片所在的位置参数,中间两个参数是连接与保存,一般是true。

Tips2:因我图片的后缀均为“.jpeg”,所以在addpicture中有相应的后缀表述,如果是其他格式,如“.bmp”、“.png”等其他格式,需要作相应的修改。

tips3:如果有名字重复的,可以用身份证号来处理。

Tips4:如果文章中有误的地方,麻烦多多指正,感谢!

Tips5:万丈高楼平地起!











文章转载自施施的EXCEL后备军,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论