View Single Post
 
Old 05-02-2023, 11:31 AM
MartinGM MartinGM is offline Windows 11 Office 2021
Competent Performer
 
Join Date: May 2023
Location: England
Posts: 108
MartinGM is on a distinguished road
Default Change code now that Alt Text has changed

I have just migrated to Office 365 and Alt Text functionality has changed, so I need to change a simple line of VBA . . . but I cannot see how to do this.

I used to insert an image using the Insert Picture dialog triggered by VBA, and capture the filename which automatically came across as Alt Text, as follows . . .

1. Set the dialog to the required image folder, display the list of images, then select the correct one manually . . .

Dim PicturePath As String
Dim FileName as String

'Save user's default image insertion path
PicturePath = Options.DefaultFilePath(Path:=wdPicturesPath)

'Change path to directory of the pictures
Options.DefaultFilePath(Path:=wdPicturesPath) = "C:\Users\Public\Pictures\ . . . ."

'Display the dialog
With Dialogs(wdDialogInsertPicture)
If .Show = False Then Exit Sub
End With

'Before quitting, restore the original pictures' path
Options.DefaultFilePath(Path:=wdPicturesPath) = PicturePath

ActiveDocument.InlineShapes(ActiveDocument.InlineS hapes.Count).Select

2. So now the correct image is inserted and selected.

3. Now for the one line of code that no longer works . . .

FileName = Selection.InlineShapes(1).AlternativeText 'Extract the Alternative Text

Unfortunately (for me) Microsoft has changed the AlternativeText function entirely and this field no longer comes into the document automatically as it used to. My question is how can I capture the filename of the image which I have just chosen and inserted ?

FYI I used to go on to extract the final section of the filename (less the file extension) and use that as the image's title in the Word document I am editing. This saved me a great deal of time and avoided transcription errors.

Thanks in advance for any advice.

Martin
Reply With Quote