图片宏代码
Word采用宏命令批量调整照片大小方法

Word采用宏命令批量调整照片大小方法
Word采用宏命令批量调整照片大小方法
1.点击“视图”菜单,找到“宏”。
点击“录制宏”,进入“录制宏”操作面板后,为宏定义一个名字,之后点击“确定”按钮。
2.再次找到“宏”,点击“停止录制”。
3.点击“查看宏”,选择定义好的宏的名字,点击右侧的“编辑”按钮。
4.进入VB编辑器后,输入如下命令后,点击“保存”。
5.若照片有不同的大小要求,可在命令中的“()”内调整照片的宽度及高度。
6.将照片批量插入到WORD文档中,要求照片必须为“嵌入式”。
7.点击“宏”,进入操作面板后点击“运行”按钮,宏命令就得到了
执行,插入到文档中的图片就会按照在宏命令中设置的大小进行批量调整。
宏命令将图片批量替换成统一大小

宏命令将图片批量替换成统一大小步骤:1.点击【文件】-【选项】,在弹出的窗口中选择【自定义功能区】,勾选开发工具选项后,点击【确定】,如下图:2.会在菜单上方出现开发工具的相关功能菜单,选择【开发工具】,点击【宏】,如下图:3.点击【宏】后,弹出提示框,在宏名处输入宏名“setpicsize”点击创建按钮,如下图:4.在弹出的VBA窗口中将如下代码复制到其中,如下图:统一替换图片大小的VBA代码如下(单引号后面的内容为备注):'1.改变图片大于14.5cm的宽度'注:高跟宽的数值单位为px,而word中的单位为cm(1px约等于0.0352cm)Sub setpicsize()Dim j '计数图片个数For j = 1 To ActiveDocument.InlineShapes.Count '文件中图片总个数,图片类型为inlineshapespicheight = ActiveDocument.InlineShapes(j).Height '高度赋值picwidth = ActiveDocument.InlineShapes(j).Width '宽度赋值If (ActiveDocument.InlineShapes(j).Width > 375 And ActiveDocument.InlineShapes(j).Width < 415) Then '判断图片宽度范围,将宽度大于13.23cm的图片,小于14.68的图片统一缩放ActiveDocument.InlineShapes(j).Range.ParagraphFormat.Alignment = wdAlignParagraphCenter '图片居中ActiveDocument.InlineShapes(j).Width = 411 '设置宽度为411px,约14.5cm ActiveDocument.InlineShapes(j).Height = picheight * (411 / picwidth) '设置图片高度,根据设置的宽度值等比例缩放图片高度ElseIf (ActiveDocument.InlineShapes(j).Width > 417) Then '判断图片宽度范围,将宽度大于14.7cm的图片统一缩放ActiveDocument.InlineShapes(j).Range.ParagraphFormat.Alignment = wdAlignParagraphCenter '图片居中ActiveDocument.InlineShapes(j).Width = 411 '设置宽度为411px,约14.5cm ActiveDocument.InlineShapes(j).Height = picheight * (411 / picwidth) '设置图片高度,根据设置的宽度值等比例缩放图片高度End IfNext jEnd Sub注意:(1)修改图片尺寸时,代码运行前需要根据实际情况进行修改图片尺寸的大小范围限制代码,图中标注处所示(2)修改图片尺寸时,需计算修改的图片的宽高值,因为图片的高跟宽的数值单位为px,而word中的单位为cm,根据每台电脑不同的分辨率,1px约等于0.0352cm (3)图片替换之前文档最好先保存副本,因为运行宏后的文档无法撤销操作,如果操作错误,只能通过关闭文档时,选择不保存后,重新打开(4)代码可用英文状态下的单上引号进行备注,删掉不影响代码的运行(5)如修改图片尺寸的代码无需修改,可直接在点击【宏】后,在弹出提示框中选择宏名“setpicsize”,点击运行按钮进行操作(6)一次性修改的文档中图片过多时,文档会未响应一小段时间,请耐心等待即可5.点击运行按钮,运行统一替换图片尺寸代码。
插入图片宏

Sub 单元格插入图片()On Error Resume NextDim M As Range, fd, tSet fd = Application.FileDialog(msoFileDialogFolderPicker)If fd.Show = -1 Thent = fd.SelectedItems(1)ElseExit SubEnd IfFor Each M In SelectionIf Not IsEmpty(M) ThenM.MergeArea.SelectML = M.MergeArea.LeftMT = M.MergeArea.TopMW = M.MergeArea.WidthMH = M.MergeArea.HeightActiveSheet.Shapes.AddShape(msoShapeRectangle, ML, MT, MW, MH).SelecterPicture t & "\" & M.Text & ".jpg"End IfNextEnd SubSub 插入批注最终()On Error Resume NextFor i = 1 To Range("C65536").End(xlUp).RowFor j = 1 To Range("C65536").End(xlUp).RowFName = " C:\Documents and Settings\Administrator\桌面\晓格\2012年11月夏凉订货会图片" & Range("C" & j) & ".jpg"'j = "E:\100MSDCF\DSC" & Right("00000" & i + 83, 5) & " .JPG"If (Range("C" & i) = Range("C" & j)) ThenRange("C" & i).AddCommentRange("C" & i)erPicture FNameEnd IfNext j'Range("a" & i).ClearCommentsRange("C" & i).AddComment'Range("a" & i).Comment.Visible = True'Range("a" & i).Comment.Shape.SelectRange("C" & i).Comment.Shape.Height = 350Range("C" & i).Comment.Shape.Width = 280'erPicture "E:\100MSDCF\aaa\DSC" & Right("00000" & i + 83, 5) & ".JPG"'Range("a" & i).Comment.Visible = FalseNext iEnd SubSub 图片大小调整()Dim M As RangeOn Error Resume NextFor Each M In SelectionM.AddCommentment.Shape.Width = 300ment.Shape.Height = 220NextEnd SubSub 单元格插入批注()On Error Resume NextDim M As Range, fd, tSet fd = Application.FileDialog(msoFileDialogFolderPicker)If fd.Show = -1 Thent = fd.SelectedItems(1)ElseExit SubEnd IfFor Each M In SelectionIf Not IsEmpty(M) ThenM.AddCommentment.Shape.Width = 300ment.Shape.Height = 220erPicture t & "\" & M.Text & ".jpg"End IfNextEnd Sub。
word宏命令等比例放大缩小所有图片或指定更改图片大小

需要将一篇word文档中的所有图片全部缩小比例,怎么办?一张张改太麻烦了。
可以用Word里宏命令的批量处理解决。
需要注意的地方就是注意厘米与像素的换算关系。
一般情况下1厘米=28px 。
这个换算关系其实可以用计算器计算出来。
计算公式为图片改变之后的像素除以改变之后图片的大小厘米。
固定长宽篇代码Sub setpicsize() '设置图片大小Dim n '图片个数On Error Resume Next'忽略错误For n = 1To ActiveDocument.InlineShapes.Count 'InlineShapes类型图片ActiveDocument.InlineShapes(n).Height = 400'设置图片高度为400pxActiveDocument.InlineShapes(n).Width = 300'设置图片宽度300pxActiveDocument.InlineShapes(n).Range.ParagraphFormat.Alignment= wdAlignParagraphCenter '设置图片居中Next nFor n = 1To ActiveDocument.Shapes.Count 'Shapes类型图片ActiveDocument.Shapes(n).Height = 400'设置图片高度为400px ActiveDocument.Shapes(n).Width = 300'设置图片宽度300pxNext nEnd Sub说明:1.VB语言中对图片大小的设置是以原图的长宽等比在缩放,统一设置时默认优先对齐所有图片的“宽度”。
2.ActiveDocument.InlineShapes(n).Range.ParagraphFormat.Alignment=wdAlignParagraphCenter '设置图片居中可以让图片居中,Left、Right可以分别设置左对齐、右对齐。
批量处理图片宏代码

ActiveDocument.Shapes(n).Width = 5 '
Next n
End Sub
代码4 不锁纵横比 (这个有效。代码同2)
Sub setpicsize() 'Resume Next '
ActiveDocument.InlineShapes(n).LockAspectRatio = msoFalse '
ActiveDocument.InlineShapes(n).Height = 320 '
ActiveDocument.InlineShapes(n).Width = 425 '/经调试后,此处高度和宽度必须很宽,代码内分度值为像素,并非厘米,因为Inline的缘故?/
ActiveDocument.InlineShapes(n).Width =5 *28.35 '/同上,前面的3.5和5.5可以理解为像素/
Next n
End Sub
代码5 仅仅解除纵横比
Sub () '
Dim n '
On Error Resume Next '
For n = 1 To ActiveDocument.InlineShapes.Count 'InlineShapes
'iShape.Width = CentimetersToPoints(15)
Next
End Sub
代码2 不锁定纵横比 (有效)
Sub setpicsize() '
Dim n '
Word编程宏批量修改图片大小

word批量修改图片大小借助word的宏功能可以很好完成这一任务,无论word里有多少图片,很容易就在一瞬间搞定.。
文档里面有几百张图片,规格都不一样,堆在文档里面很难看。
为美化文档,将图片规范化,都设置成425x320像素大小。
手工修改每张图片很费时间也费鼠标,所以,你得好好看看以下如何做了。
打开word,按下Alt+F8,出现宏界面,为新建的宏取名为AdjustPicWidthAndHeight点击编辑按钮,输入下面红色字体标出的内容Sub AdjustPicWidthAndHeight()'' AdvertisePublishAs 宏' 将广告发布导出为 PDF 和 XPS'Sub setpicsize() '设置图片大小Dim n '图片个数On Error Resume Next '忽略错误For n = 1 To ActiveDocument.InlineShapes.Count 'InlineShapes类型图片ActiveDocument.InlineShapes(n).LockAspectRatio = msoFalse '不锁定图片的纵横比ActiveDocument.InlineShapes(n).Height = 320 '设置图片高度为 320px ActiveDocument.InlineShapes(n).Width = 425 '设置图片宽度 425pxNext nFor n = 1 To ActiveDocument.Shapes.Count 'Shapes类型图片ActiveDocument.InlineShapes(n).LockAspectRatio = msoFalse '不锁定图片的纵横比ActiveDocument.Shapes(n).Height = 320 '设置图片高度为 320pxActiveDocument.Shapes(n).Width = 425 '设置图片宽度 425pxNext nEnd Subword批量修改图片大小——固定长宽篇这部分要说的是把word中的所有图片修改成固定的并且相同的长和宽!1、打开word,工具-宏-宏(或者直接按Alt+F8)进入宏的界面,如下面所示,输入一个宏名,宏名自己起,能记住就行!2、宏名起好了,单击“创建”进入Visual Basic 编辑器,输入如下代码并保存Sub setpicsize() '设置图片大小Dim n'图片个数On Error Resume Next '忽略错误For n = 1 To ActiveDocument.InlineShapes.Count 'InlineShapes类型图片ActiveDocument.InlineShapes(n).Height = 400 '设置图片高度为 400px ActiveDocument.InlineShapes(n).Width = 300 '设置图片宽度 300pxNext nFor n = 1 To ActiveDocument.Shapes.Count 'Shapes类型图片ActiveDocument.Shapes(n).Height = 400 '设置图片高度为 400px ActiveDocument.Shapes(n).Width = 300 '设置图片宽度 300pxNext nEnd Sub3、返回word,工具-宏-宏(或者直接按Alt+F8),再次进入宏的界面,选择刚才编辑好的宏,并单击“运行”按钮,就可以了!(图片多时,可能会花一些时间)word批量修改图片大小——按比例缩放篇这部分要说的是把word中的所有图片按比例缩放!具体操作同上,只是代码部分稍做修改,代码如下:Sub setpicsize() '设置图片大小Dim n'图片个数Dim picwidthDim picheightOn Error Resume Next '忽略错误For n = 1 To ActiveDocument.InlineShapes.Count 'InlineShapes类型图片picheight = ActiveDocument.InlineShapes(n).Heightpicwidth = ActiveDocument.InlineShapes(n).WidthActiveDocument.InlineShapes(n).Height = picheight * 0.8 '设置高度为1.1倍ActiveDocument.InlineShapes(n).Width = picwidth * 0.8 '设置宽度为1.1倍Next nFor n = 1 To ActiveDocument.Shapes.Count 'Shapes类型图片picheight = ActiveDocument.Shapes(n).Heightpicwidth = ActiveDocument.Shapes(n).WidthActiveDocument.Shapes(n).Height = picheight *0.8 '设置高度为1.1倍ActiveDocument.Shapes(n).Width = picwidth * 0.8 '设置宽度为1.1倍Next nEnd Sub。
如何在VBA中进行图像处理和特效添加

如何在VBA中进行图像处理和特效添加VBA(Visual Basic for Applications)是一种用于宏编程的语言,广泛应用于各种Microsoft Office应用程序中,包括Excel、Word和PowerPoint。
通过VBA,用户可以编写自己的程序来实现自动化操作和自定义功能。
在VBA中,我们也可以使用图像处理和特效来增强我们的文档和报告的视觉效果。
本文将引导您如何在VBA中进行图像处理和特效添加。
第一步是在VBA编辑器中打开需要进行图像处理和特效的文档。
在Excel中,按下"Alt + F11"快捷键即可打开VBA编辑器。
在VBA编辑器中,您可以看到项目浏览窗口,其中显示了所有的VBA项目和模块。
双击需要编辑的模块,然后就可以开始编写代码。
要在VBA中进行图像处理,我们首先需要向项目中添加对"Microsoft Office 图片工具"的引用。
在VBA编辑器的菜单栏中选择"工具",然后点击"引用"。
在弹出的对话框中,找到"Microsoft Office 图片工具"并勾选它,然后点击"确定"。
一旦添加了对"Microsoft Office 图片工具"的引用,我们就可以使用其提供的各种方法和属性来处理图像了。
以下是一些常见的图像处理操作和示例代码:1. 调整图像大小:```Sub ResizeImage()Dim fd As FileDialogSet fd = Application.FileDialog(msoFileDialogFilePicker) With fd.AllowMultiSelect = False.Title = "Select an image file".Filters.Clear.Filters.Add "Image Files", "*.jpg; *.jpeg; *.png; *.gif"If .Show = True ThenDim imagePath As StringimagePath = .SelectedItems(1)Dim pic As PictureSet pic = ActiveSheet.Pictures.Insert(imagePath)pic.ShapeRange.LockAspectRatio = msoTruepic.ShapeRange.Width = 200pic.ShapeRange.Height = 200End IfEnd WithEnd Sub```上述代码会弹出一个文件选择对话框,让用户选择一个图像文件。
通过执行宏命令批量给Word中的图片加边框

执行宏命令
最终效果
注意事项
想要边框更粗的话可以使用如下代码Sub Example() Dim oInlineShape As InlineShape Application.ScreenUpdating = False For Each oInlineShape In ActiveDocument.InlineShapes With oInlineShape.Borders .OutsideLineStyle = wdLineStyleThinThickSmallGap .OutsideColorIndex = wdColorAutomatic .OutsideLineWidth = wdLineWidth300pt End With Next Application.ScreenUpdating = True End Sub
Sub Example()
Dim oInlineShape As InlineShape
Application.ScreenUpdating = False
For Each oInlineShape In ActiveDocument.InlineShapes
With oInlineShape.Borders
创建宏命令自己可以命名也可以使用系统中的名字这个不影响最后的效果
通过执行宏命令批量给Word中的图片加边框
word批量给word中的图片加边框
工具/原料
word2010
方法/步骤
打开word中的视图标签卡,选择宏,然后查看宏
创建宏命令,自己可以命名也可以使用系统中的名字,这个不影响最后的效果
粘贴如下代码:Βιβλιοθήκη .OutsideLineStyle = wdLineStyleSingle