Selected Answer
Hi Bill and welcome to the Forum.
Replacement Answer 17 May 2023:
Now you've added a file and clarified you're adding InlineShapes to a single document (rather than to several individual ones), please try the attached, revised file. I didn't have your logo so embedded "Wedding logo full.jpg" in the file- please save that out to your test macro location first then use F8 to step through the new maco line by line and see the image resized. The code is indented (for easier reading of blocks/loops) and commented below, with key changes in bold:
Sub write_letter()
ttb = 10
' ### Dim sh As Shape
' ### Application.ScreenUpdating = False
Dim WordApp As Object
Set WordApp = CreateObject("Word.Application")
With WordApp
' display the document
.Visible = True
.Documents.Add
For t = 1 To ttb 'starts a loop of letters with invitation for medical research, according to data in the file
If t > 1 Then .Selection.insertnewpage
' ### didn't have your logo
'.Selection.InlineShapes.AddPicture Filename:="C:\test_macro\logo_rgb.jpg", _
LinkToFile:=False, SaveWithDocument:=True
' ### used this 1992x824 pixels (=1494x618 points) picture instead (saved as icon on revised file)
' adds InShape number t:
.Selection.InlineShapes.AddPicture Filename:="C:\test_macro\Wedding logo full.jpg", _
LinkToFile:=False, SaveWithDocument:=True
' scale the "t"th inline shape
With .ActiveDocument.InlineShapes(t)
' ## set size directly to 1/6 by points
'.Width = 249
'.Height = 103
' ## or set set width to 5 cm and appropriate height
.Width = Application.CentimetersToPoints(5)
.Height = Application.CentimetersToPoints(2.07)
End With
With .Selection
.Font.Name = "Times New Roman"
.Font.Size = 12
.Paragraphs.Alignment = 0
.Font.Italic = True
.typetext "Some text to open the letter"
.TypeParagraph
.Font.Italic = False
End With
Next t
End With
You'll need to work out the scaling of your logo (in cemtimetres as above or in points not pixels, as commented out above). The code above sets the logo width to 5cm using the Excel's CentimetersToPoints method (with height to match the logo's aspect ratio) since I suspect this will be easier. E.g. Application.CentimetersToPoints(5) converts 5cm to that measurement in points (141.732283464567pts.).
Hope this helps- if so, please remember to return and mark this Answer as Selected.