Try our new Certificate Revocation List Check Tool
CRLcheck.exe is a tool developed to verify digital signatures of executable files. It collects files from known paths on your client, checks their signature, and checks Certificate Revocation Lists (CRL) and OCSP download. This helps avoid delays in launching files.
Category published:  Scripting   Click on the Category button to get more articles regarding that product.

Auto resize pictures in Winword for a blog Post automatic with VBA macro

Posted by admin on 02.01.2025

WHO: You Blog with Winword to WordPress or Blogengine.net and want to auto resize the pictures direct in Winword (Not in the blog with some risky plugin)

I do not like macros in any form due to security reasons (we block them wherever we can), but there might be a reason to use one locally if you often blog with Word, for example, on WordPress, and you like taking screenshots like I do. Here’s how to include a macro that will automatically resize the width to 400.

  • Open Winword
  • Press ALT + F11
  • Choose left side “NORMAL” and the dopdown INSERT > Module


  • Paste the FULL code from below box into the code window
  • Close the Code Windows
  • Close Winword
  • Open Winword
  • Choose NEW Blog template
  • Start the BLOG write as example for WordPress
  • Select the image
  • Press ALT + F8
  • Enter
  • Leave (300) or type the size
  • Enter


AdjustPictureSizeAndAddBorders, change the VALUE width of the pics from 400 to what you want
Sub AdjustPictureSizeAndAddBorders()

Dim img As InlineShape

Dim targetWidth As Single

Dim aspectRatio As Single

‘ Request user input for the new image width (in points)

targetWidth = InputBox(“Specify the width (in points) for the selected images:”, “Resize Images”, 400)

If IsNumeric(targetWidth) = False Or targetWidth <= 0 Then

MsgBox “Please provide a valid positive number for the width.”, vbExclamation

Exit Sub

End If

‘ Iterate through each inline shape in the current selection

For Each img In Selection.InlineShapes

If img.Type = wdInlineShapePicture Or img.Type = wdInlineShapeLinkedPicture Then

‘ Maintain aspect ratio while adjusting the height based on the new width

aspectRatio = img.Height / img.Width

img.Width = targetWidth

img.Height = targetWidth * aspectRatio

‘ Apply a 1px solid black border to all sides of the image

img.Borders(wdBorderLeft).LineStyle = wdLineStyleSingle

img.Borders(wdBorderLeft).LineWidth = wdLineWidth025pt

img.Borders(wdBorderLeft).Color = RGB(0, 0, 0)

img.Borders(wdBorderRight).LineStyle = wdLineStyleSingle

img.Borders(wdBorderRight).LineWidth = wdLineWidth025pt

img.Borders(wdBorderRight).Color = RGB(0, 0, 0)

img.Borders(wdBorderTop).LineStyle = wdLineStyleSingle

img.Borders(wdBorderTop).LineWidth = wdLineWidth025pt

img.Borders(wdBorderTop).Color = RGB(0, 0, 0)

img.Borders(wdBorderBottom).LineStyle = wdLineStyleSingle

img.Borders(wdBorderBottom).LineWidth = wdLineWidth025pt

img.Borders(wdBorderBottom).Color = RGB(0, 0, 0)

End If

Next img

MsgBox “The selected images have been resized and borders added successfully.”, vbInformation

End Sub


 Category published:  Scripting   Click on the Category button to get more articles regarding that product.