如何用vba将excel单元格区域的内容转化为图片?

在vba中如果要将excel的单元格区域内容转化为图片,可以有多种方法。

方法1:使用Range对象的CopyPicture方法将单元格区域复制为图片,这与单击“开始”选项卡下的“复制为图片”是一样的效果,如下图所示:

Range对象的CopyPicture方法具有两个参数,分别为Appearance参数,用于指定复制后的图片的外观是如屏幕所示还是如打印效果,以及Format参数,用于指定格式是图片还是位图。

方法2:使用Range对象的Copy方法将单元格区域复制到剪贴板。

Range对象的Copy方法只有一个参数Destination,用于指定要粘贴的单元格区域,如果省略这个参数,则表示复制到剪贴板。

以上两种方法介绍了如何将excel单元格区域的内容转化为图片,转化以后我们往往需要使用图片,这时候可以使用如下的几种方法:

方法1:使用Range对象的PasteSpecial方法,粘贴剪贴板中的图片。

这里需要特别注意的是,Range对象的PasteSpecial方法具有Paste,Operation,SkipBlanks,Transpose等参数,但是在粘贴剪贴板中的图片时,所有这些参数都必须省略,否则将报错。

代码如下:

方法2:使用Worksheet对象的Paste方法,粘贴剪贴板中的图片。

Worksheet对象的Paste方法有两个参数:Destination参数用于指定要粘贴图片的单元格区域,Link参数用于指定是否与源数据建立关联,Destination参数和Link参数是互为排斥的,如果指定了Destination参数则Link参数必须省略,如果指定了Link参数则Destination参数也必须省略。

代码如下:

方法3:使用Worksheet对象的PasteSpecial方法,粘贴剪贴板中的图片。

Worksheet对象的PasteSpecial方法相比于Paste方法具有更加丰富的参数,具体的可以查看帮助文档。其中Worksheet对象的PasteSpecial方法默认将粘贴剪贴板的内容到活动单元格中。

代码如下:

总结:以上介绍了在vba中将excel单元格区域的转化为图片的几种方法,可以灵活使用。





       

发表评论